Carlos Marmol met his match in Carlos Beltran.
Marmol yielded a tying solo homer to Beltran in the ninth and Jon Jay doubled in the winning run an inning later as the St. Louis Cardinals bolstered their bid for another playoff appearance with a 5-4 victory over the Chicago Cubs on Saturday.
Beltran drove an 0-1 pitch over the wall in right for his 30th homer, snapping a streak of 19 straight saves by Marmol since May 2.
"He had a heck of a run," Cubs manager Dale Sveum said. "He hadn't given up a home run since the All-Star break, and it took one of the best hitters around to do it. That's going to happen."
St. Louis began the day with a two-game lead over Los Angeles for the second NL wild-card spot. Milwaukee dropped 2½ games off the pace after losing to Washington.
Marmol had posted eight consecutive scoreless appearances.
"I made one mistake and I paid for it," he said. "That's the game. He made a good swing. I take my hat off."
Marmol wasn't fazed by the end of his save streak, noting statistics are the last thing on a pitcher's mind when you enter a one-run game during a pennant race.
"I care about (the streak), but when you go out there you don't want a blown save," he said. "When you go out there, you don't think about numbers. You think about getting people out."
The defending World Series champion Cardinals have 10 games left in the regular season. They bounced back from an agonizing 11-inning loss at Wrigley Field the previous day.
After Matt Carpenter and Brian Anderson drew two-out walks from Jaye Chapman (0-1), Jay doubled down the right-field line.
Mitchell Boggs (4-1) got the last out of the ninth. Jason Motte struck out the side in the 10th for his 39th save.
"Everyone knows what's at stake right now," Jay said. "Every win is important and every game is important. Tomorrow is the biggest game of the year."
All-Star catcher Yadier Molina of the Cardinals left in the ninth with lower back spasms. He exited after trying to get away from a pitch from Marmol that nearly hit him.
St. Louis lost in dramatic fashion on Friday. Fernando Salas gave up a two-out, two-strike, two-run homer to Darwin Barney in the ninth to send the game to extra innings, and the Cubs won 5-4 in 11 on David DeJesus' RBI single.
DeJesus' solo homer on Saturday started a three-run rally in the sixth as Chicago nearly came from behind to knock off the Cardinals for a second straight day.
"We came back," Sveum said. "I just loved the way the guys battled the whole game. . We've battled and had great at-bats. Everybody's done a great job."
Travis Wood again failed to win at Wrigley, though he held St. Louis to two earned runs over five innings, striking out seven. He entered with an 0-5 record and a 6.08 ERA over his last seven home starts, but finished with a no-decision when the Cubs rallied.
"Pitch count got me in the second and third," Wood said. "I was able to settle down and make it through five. I definitely would have liked to been in the ballgame a lot longer."
St. Louis stranded 13 batters and missed several chances to take command of the game. James Russell struck out pinch-hitter Shane Robinson with runners on the corners to end the eighth, while Marmol got Tony Cruz to fly out with the go-ahead run on third to end the ninth. Cruz pinch-hit for Molina.
The Cubs need to win four of their last 10 games to avoid the third 100-loss season in franchise history and first since 1966.
"Every win counts," Wood said. "We're battling as hard as we can. We played pretty good today. We ended up taking a lead, just couldn't hold them off. That's a good team over there."
NOTES: Cardinals RHP Jake Westbrook (strained right oblique) was shut down just a few pitches into his bullpen session. He will be re-evaluated Sunday. RHP Lance Lynn will start in Westbrook's place Monday at Houston. ... Cardinals RHP Chris Carpenter felt "good sore" a day after his season debut Friday, according to manager Mike Matheny. He is scheduled to pitch Wednesday in Houston. ... Barney's errorless streak at second base reached an NL-record 137 games, four short of the major league record set by Detroit's Placido Polanco in 2007.