Gabriel Moreno hit a three-run homer and scored twice as the visiting Arizona Diamondbacks held off the St. Louis Cardinals 8-7 on Tuesday.
Nick Ahmed hit a two-run double for the Diamondbacks, who have won three straight games and eight of their last 11.
Arizona starter Drey Jameson allowed two runs on three hits and four walks in 3 2/3 innings. Kyle Nelson (3-0), the first of six relievers, earned the victory and Miguel Castro earned his first save.
Cardinals starting pitcher Jordan Montgomery (2-2) allowed seven runs on 10 hits in four innings.
Willson Contreras hit two homers and drove in three runs for the Cardinals, who lost for the fourth time in their last six games.
Paul Goldschmidt’s first-inning homer put the Cardinals up 1-0.
Tyler O’Neill hit a double and Dylan Carlson and Taylor Motter drew walks in the second inning. With two outs, Lars Nootbaar reached on an infield single to put the Cardinals up 2-0.
Arizona cut its deficit in half in the third inning as Moreno hit a double and scored on a single by Josh Rojas.
The Diamondbacks surged ahead 7-2 in the fourth inning. Lourdes Gurriel Jr. led off with a single, Christian Walker hit an RBI double and Evan Longoria hit a single to put runners at the corners.
Jake McCarthy reached on a fielder’s choice grounder as the Cardinals caught Walker off third base, but they botched the rundown as Walker retreated to the bag.
Ahmed doubled to drive in two runs, then Moreno hit his three-run homer.
The Cardinals cut their deficit to 7-3 in the sixth inning, when O’Neill hit a single and scored on Carlson’s double.
The Diamondbacks answered in the seventh inning with singles by Rojas, Gurriel and Longoria to make it 8-3. Contreras’ solo homer in the bottom of the inning cut that deficit to 8-4.
St. Louis got within a run in the ninth inning. Nootbaar walked, Goldschmidt hit a double, Alec Burleson hit an RBI groundout and Contreras smacked a two-run homer.
–Field Level Media