Jayson Werth went 3 for 4 with three runs scored and Carlos Ruiz went 3 for 4 with three RBIs for the Phillies, who have won seven straight overall and 10 in a row at home.
Miguel Montero went 2 for 3, including an RBI double in the ninth for Arizona, which has lost six straight.
Brown, a 20th-round pick in the 2006 draft, was called up from Triple-A Lehigh Valley before the game after outfielder Shane Victorino went on the 15-day disabled list with an abdominal strain on his left side.
The heralded 22-year-old outfielder didn't disappoint, lacing the third pitch he saw in the big leagues from Edwin Jackson to the wall in right field for a double that scored Werth and gave the Phillies a 1-0 lead in the second inning. After moving to third on Ruiz's single, Brown scored on Wilson Valdez's groundout, giving Philadelphia a 2-0 lead.
That was plenty of support for Halladay (12-8), who once again was dominant while striking out nine and walking none. The Phillies ace upped his scoreless innings streak at home to 33 before Montero's ninth-inning hit. It was his eighth complete game. Before Montero's hit, the last run he allowed at Citizens Bank Park was on July 5 in the first inning against Atlanta. Halladay has walked ones or less in 17 of his 22 starts this season and has as many complete games as all the Phillies starters had combined in 2009.
The Phillies made it 4-0 in the sixth when Ruiz doubled down the left-field line to score Werth and Brown, both of whom singled. After tacking a run on in the sixth on Placido Polanco's two-out RBI single, the Phillies scored two more in the seventh to make it 7-0. Brown's sacrifice fly scored Raul Ibanez and Ruiz doubled in Werth.
Ibanez went 2 for 3 and is 10 for 20 in his last six games. Werth is 10 for 17 in his last five games. Ruiz, meanwhile, is 12 for 18 with nine RBIs in his last six games against the Diamondbacks.
It was the fourth straight defeat for Jackson (6-10), whose last win came July 2 against the Dodgers, his only victory since throwing a no-hitter June 25 at Tampa Bay. In the four losses, Jackson has allowed an average of 4.5 runs and 7.75 hits.
The matchup pitted two pitchers who have thrown no-hitters this season, the first time that happened since Sept. 6, 1991, when Wilson Alvarez faced Nolan Ryan. Halladay pitched a perfect game May 29 at Florida.
NOTES: Philadelphia manager Charlie Manuel targeted this weekend for SS Jimmy Rollins' possible return to the lineup. Rollins has missed the last two games after bruising his left foot on Monday. Arizona OF Justin Upton sat out the game due to tightness in his right hip, which forced him to leave Tuesday's game. Upton, riding a 13-game hitting streak, was available to pinch-hit. Montero snapped an 0-for-17 slide with a seventh-inning single. Brown batted .327 with 20 homers and 68 RBIs in 93 games at Double-A Reading and Lehigh Valley.