Shane Robinson singled to center and then took second on center fielder Carlos Gomez's fielding error off Jim Henderson (2-1) who started the ninth for Milwaukee with the game tied at 6. Robinson stole third and then scored when Jay singled up the middle, the last lead change in a back-and-forth game.
Jay hit a three-run home run in the second, Craig connected for a solo shot in the sixth and Descalso put the Cardinals ahead with a two-run homer in the seventh.
The Brewers trailed by one in the eighth when they got one-out singles that put runners on the corners. Cardinals manager Mike Matheny brought in Randy Choate. Norichika Aoki dropped a perfect bunt down as pinch-runner Jeff Bianchi raced home and slide feet first, avoiding catcher Yadier Molina's tag. Seth Maness (1-0) came on and got the Cardinals out of the jam, getting Jean Segura to hit into a double play.
Maness earned his first major league win. Edward Mujica pitched the ninth for his eighth save.
Descalso hit his first homer of the season off reliever Tom Gorzelanny who came on for starter Yovani Gallardo. The Milwaukee right-hander looked liked he might pick up the win after Milwaukee went ahead 5-4 in the sixth.
That didn't happen, but it kept Gallardo from suffering another loss to St. Louis. He came in 1-10 in 15 starts.
Cardinals starter Adam Wainwright gave up Segura's two-run home run in the first, but nothing more until three runs in the sixth ended his start and put the Brewers ahead 5-4.
Gomez hit a one-out solo home run. Martin Maldonado singled, advanced on Alex Gonzalez' single and both scored on pinch-hitter Jonathan Lucroy's double. After Wainwright hit Aoki for the second time in the game, Kelly took over and got Segura to hit into a double play.
Wainwright went 5 1-3, allowed 11 hits, the most since he gave up 11 on Opening Day at Arizona, and struck out five.
His first three pitches of the game hurt, especially the one that snapped his streak of not allowing a home run this season.
On a 1-0 pitch, Aoki singled. Then first-pitch swinging Segura hit his fourth home run of the season.
Jay's three-run homer in the second erased Milwaukee's 2-0 lead.
Craig singled and advanced on David Freese' hit up the middle which Gallardo deflected just enough to cause shortstop Segura to backtrack and then throw late to second for the force. Jay crushed a 2-0 pitch for his third of the season.
After Jay's home run, Gallardo retired 13 of the next 14 batters, but then gave up Craig's homer into the Cardinals' bullpen in right-center field.
NOTES: Brewers INF Yuniesky Betancourt's single in the first was the 1,000th of his career. ... Brewers OF Carlos Gomez extended his hitting streak to 11 games with single in the first and raised his NL-leading batting average to .374. ... Cardinals RHP Jake Westbrook is the only starting pitcher in the NL who has not allowed a home run this season. ... Brewers 3B Aramis Ramirez sat out the game in a precautionary move. He played Friday night after missing 23 games due to a sprained right knee.
Link to box score: St. Louis 7 at Milwaukee 6
Link to game discussion at The Cardinal Nation message board