The slugging first baseman belted his second grand slam in five days and Wade Miley bounced back from his two worst outings of the season as the
Diamondbacks beat the Cardinals 10-3 on Wednesday night.
Arizona has won four of five. St. Louis, with the best record in the majors, has dropped back-to-back games for the first time since April 28-29.
Goldschmidt became the first D-backs player with two slams on the same road trip. He hit one in a 12-4 win at the Cubs on Saturday.
"Sometimes you come through and sometimes you don't," he said. "I just show up and try to take a good at-bat."
Goldschmidt also hit a go-ahead single in the 14th inning to beat the Cardinals on Tuesday night. He has a team-best 14 homers and leads the NL with 53 RBIs, including 12 in his last five games.
"I feel like every time I come up there I have men on base," said Goldschmidt, who went 2 for 5 to raise his batting average to .336. "I've had a lot of opportunities."
Although Goldschmidt is uncomfortable talking about his exploits, manager Kirk Gibson is happy to sing his praises.
"He's on a roll, and he's really carrying us," Gibson said. "He's got a great approach up there. He's a huge cog for us, and he's getting better."
While Goldschmidt has been on a roll, Miley (4-5) got himself back on track. He gave up three runs and 11 hits over 6 2/3 innings after allowing seven earned runs in each of his previous two starts.
"I just went out and pitched and tried not to think about anything," Miley said. "Go right at the guys and get ahead. I wanted to get as deep into the game as I could."
Martin Prado had two doubles and scored twice for the Diamondbacks. Willie Bloomquist added two hits.
The D-backs' 10 runs were their most in St. Louis since scoring 17 runs on April 17, 2001.
Joe Kelly (0-3), making his first start of the season for the Cardinals, gave up one earned run in 5 2/3 innings. He made 16 appearances of out of the bullpen this season but was forced into a spot start due to a day-night doubleheader on Saturday.
"Joe did a good job for us -- we needed that," manager Mike Matheny said.
Kelly threw 80 pitches and kept St. Louis close while he was in the game.
"I was happy with it," Kelly said. "I was just trying to go out there and give the team everything I could."
Matt Carpenter had four hits for the Cardinals and pushed his career-best hitting streak to 14 games.
The Diamondbacks erupted for five runs in the seventh off just-called-up righty Maikel Cleto to take a 7-1 lead. Wil Nieves started the uprising with an RBI single before Goldschmidt hit his 421-foot slam.
Gerardo Parra keyed a three-run eighth with a two-run single.
David Freese extended his hitting streak to a career-best 15 games with a single in the St. Louis sixth. It is the longest current run in the majors.