Pittsburgh, PA (Sports Network) - Chris Johnson hit two homers on Tuesday, including a go-ahead three-run blast in the eighth inning, as the Diamondbacks rallied for a 10-4 win over the Pirates.
Pittsburgh went ahead in the seventh when rookie Starling Marte belted a leadoff home run and Neil Walker added a bases-loaded sacrifice fly for a 4-3 advantage, but Jason Grilli (1-4) failed to hold the lead.
Paul Goldschmidt began the eighth with a double off the Pirates reliever before crossing the plate courtesy of consecutive singles by Justin Upton and Miguel Montero.
Johnson then sent a 1-0 fastball over the wall in right-center field, making it 7-4.
Brad Ziegler (5-1) earned the win, entering after Walker's sac fly and inducing Michael McKenry into an inning-ending double play.
Montero added an RBI double in the ninth before Johnson blasted a two- run homer to center field. The third baseman has five home runs and 15 RBI in eight games since being acquired from the Astros on July 29.
Stephen Drew went 3-for-4 with a homer and two RBI for the Diamondbacks, who had lost three straight, including the opener of this four-game series on Monday.
Patrick Corbin got the start and the no-decision for Arizona, allowing two runs on six hits with three walks and seven strikeouts over six innings.
Diamondbacks pitchers have now recorded a season-high eight straight quality starts.
Pittsburgh went 1-for-8 with runners in scoring position and left the bases loaded in the fifth and runners at the corners in the sixth.
Jeff Karstens brought a 20-inning home scoreless streak into Tuesday, but allowed the Diamondbacks to take a 1-0 lead in their first at-bat when Goldschmidt singled home Drew.
In all, Karstens was charged with three runs on eight hits with four strikeouts over six innings. He did not issue a walk.
Andrew McCutchen went 2-for-3 with a pair of RBI in the setback. He hit a sac fly in the first inning, then singled home Travis Snider in the third after Drew led off the top of the frame with his second home of the season.
Arizona, which is just 2-6 in its last eight games at PNC Park, went ahead 3-2 in the fourth when Gerardo Para singled, moved up on a sac bunt, and came home on Drew's base hit up the middle.
Marte's third career homer -- a blast into the shrubbery beyond the center field wall -- tied it in the seventh.
Despite the loss, the Pirates are still 13-7 over their last 20 games.
The last time Diamondbacks pitchers recorded eight straight quality starts was during an 11-game stretch from September 12-22, 2008...Montero leads all major league catchers with 66 RBI this season...McKenry went 1-for-4 and extended his hit streak to eight games.