ST. LOUIS (AP) -- Former Reno Aces all-star Jake Elmore got his first major league hit on Thursday. Elmore went 2-4 in his first career start.
Paul Goldschmidt and Chris Young homered on consecutive pitches with one out in the ninth inning to beat the St. Louis Cardinals 2-1.
With St. Louis ahead 1-0 on Allen Craig 's RBI single in the fifth, Jason Motte (4-4) struck out Miguel Montero leading off the ninth. Goldschmidt, who hit a 456-foot homer in Wednesday's 5-2 loss, fouled off three full-count pitches, then drove a pitch to center for his 18th home run of the season. Young sent the next pitch over the left-field wall for his 12th homer.
David Hernandez (2-2) pitched a perfect eighth, and J.J. Putz finished with a 1-2-3 ninth for his 14th consecutive save and 23rd in 27 chances overall.
Arizona had lost its previous seven games against St. Louis dating to last season.
Motte blew a save for the fifth time in 32 chances.
In a game that started 1 hour, 25 minutes late because of rain, Arizona's Trevor Cahill allowed one run and five hits in six inning with four strikeouts and one walk. The Cardinals' Kyle Lohse gave up four hits and three walks in 6 2-3 innings, striking out five. He lowered his ERA to 2.61, third-best in the NL.
St. Louis went ahead in the fifth after Rafael Furcal led off with an infield single, Lohse grounded into a forceout and Cahill hit Jon Jay with a two-strike pitch. Craig followed with his 62nd RBI of the season.
Arizona threatened in the fourth. Aaron Hill walked but was thrown out by catcher Tony Cruz trying to steal second, completing a double play as Justin Upton struck out. Montero singled and Goldschmidt walked, but Lohse struck out Young.