PHOENIX — Dan Haren threw seven sharp innings, Justin Upton hit his 22nd home run and the Arizona Diamondbacks defeated the Houston Astros 4-3 on Sunday to complete a three-game sweep.
Chad Qualls got the last four outs for his 24th save in 29 chances, stranding the potential tying run in the eighth and ninth innings, but was injured on the final play. Qualls was hit by a liner off the bat of Jason Michaels. Shortstop Stephen Drew picked up the ball and threw Michaels out to end the game.
Qualls landed awkwardly and dislocated his left kneecap according to Arizona manager A.J. Hinch. The pitcher stayed on the ground for several moments and then, favoring his left leg, was helped off the field by trainers.
Two days after homering in his first big league at-bat, John Hester doubled home a run for the Diamondbacks, who have won four straight.
Haren (13-8) allowed three runs on six hits and two walks, and he struck out seven.
The Astros entered August 4 1-2 games off the pace in the NL Central. Sunday's loss dropped them 14 games back of division-leading St. Louis.
Houston ace Wandy Rodriguez (12-9) ran out of gas in the seventh.
Upton hit a 3-2 pitch off the batter's eye in center field, an estimated 425 feet, to put the Diamondbacks ahead 2-1 in the sixth.
An inning later, Arizona rookie Brandon Allen led off with a double, then scored on a double by Hester to the 413 mark in right-center field. Houston manager Cecil Cooper lifted Rodriguez after Haren singled to put runners at the corners.
With the bases loaded and one out, Upton bounced to first base to put Arizona up 4-1.
Rodriguez gave up four runs on seven hits and three walks in six-plus innings. He struck out seven and allowed multiple runs for only the second time in 11 starts.
Haren worked out of a bases-loaded, one-out jam in the seventh.
He went to 3-2 on pinch-hitter Geoff Blum before Blum popped to shortstop. Then Haren got pinch-hitter Darin Erstad on a fly to right.
Haren opened the eighth by giving up singles to pinch-hitter Jason Michaels and Michael Bourn. Juan Gutierrez came on and, after Bourn stole second base, gave up RBI groundouts to Jeff Keppinger and Lance Berkman to cut Arizona's lead to 4-3.
With two out, Carlos Lee singled, stole second and took third on a wild pitch before Qualls struck out Hunter Pence on a pitch a foot off the plate.
Notes: With a first inning walk, Bourn has reached base in 23 straight games. That matches a career high and is the longest active streak in the majors. Bourn also stole two bases to run his NL-leading total to 48. ... The Diamondbacks were relieved to miss Astros RHP Roy Oswalt in this series. He's 9-1 with a 1.96 ERA against Arizona in 11 career starts.