Howard batted with the bases loaded and one out after going five for his previous last 35 with 20 strikeouts.
The big lefty lined a pitch for Josh Collmenter to right field to score Juan Pierre and help Philadelphia win its eighth series in nine tries at home against Arizona since Citizens Bank Park opened in 2004.
Phillies closer Jonathan Papelbon (3-4) entered in a tie game and pitched a scoreless ninth, stranding the go-ahead run on second.
Collmenter (3-3) was the fourth pitcher used by Arizona, which lost its second straight. Chris Johnson continued his hot streak with a homer for Arizona, which also got homers from Stephen Drew and Paul Goldschmidt.
Chase Utley homered for the Phillies.
Trevor Cahill gave the Diamondbacks a strong start, allowing three runs on six hits in seven innings while striking out six and walking two. He left with Arizona ahead 4-3, but the Phillies tied it in the eighth when they scored off right-hander David Hernandez.
And Howard capped the Phillies' comeback in the ninth.
Pinch-hitter Pierre led off with a single to center, moved to second on Nate Schierholtz's sacrifice bunt and went to third on pinch-hitter Laynce Nix's single to right that went off the glove of a charging Justin Upton.
Collmenter intentionally walked Utley to load the bases with one out for Howard. The Phillies slugger missed most of the season with a left Achilles' injury and has struggled in the 22 games since being activated from the DL.
He was loudly booed after striking out in the eighth, his third of the game, but made up for it with a clean single to right to pull the Phillies out of last place in the NL East.
Philadelphia starter Cliff Lee remained winless at home this season, getting no decision after giving up four runs on eight hits in eight innings with five strikeouts and no walks. Lee is 2-6 on the season and 0-4 with a 4.53 ERA in eight home starts this year.
The Diamondbacks took a 3-0 lead in the second on homers by Johnson, a two-run shot to left, and Drew. Drew's homer to center just cleared the wall and the outstretched reach of center fielder John Mayberry Jr., who nearly lost his glove when his arm hit the top of the wall and deflected it off his hand.
Philadelphia got a pair of runs back in the bottom of the frame, with Mayberry scoring on Cahill's wild pitch and Kratz's RBI double. Kratz, who is filling in for injured starter Carlos Ruiz, entered 9-26 with four homers and three doubles and eight RBIs in 14 games coming in.
Ruiz is out four to six weeks with plantar fasciitis.
Utley tied it at 3 in the fifth with a solo homer to right, but Goldschmidt hit a leadoff homer in the sixth to put Arizona up 4-3. Goldschmidt is batting .462 (12-for-26) with three homers and eight RBIs in his last seven games.
The Phillies tied it with two outs in the eighth. With Mayberry on second after an infield single and wild pitch, Brown lined a ball off Hernandez. The ball ricocheted toward first base but Hernandez's flip to first hit Brown and got away from Goldschmidt at first. Mayberry raced home from third and just beat Goldschmidt's throw.
Johnson is batting .381 (8-for-21) with three homers and 10 RBIs in the six games since Arizona acquired him from Houston.
Notes: The Phillies held a moment of silence before the game for Garrett Reid, the son of Eagles coach Andy Reid who was found dead in his Lehigh dorm room on Sunday morning while assisting the team in training camp. . Arizona CF Chris Young moved into second place on the club's all-time games played list by playing in his 850th contest with the Diamondbacks. . Arizona opens a four-game series at Pittsburgh at 7:05 Monday, with Diamondbacks LHP Wade Miley (12-6, 2.98) scheduled to face Pirates LHP Erik Bedard (5-12, 4.83). Philadelphia opens three-game series at home Monday against Atlanta, with Phillies RHP Vance Worley (6-6, 3.63) scheduled to oppose Braves RHP Ben Sheets (3-1, 1.46).