Two balls that eluded Miami right fielder Giancarlo Stanton were the difference Friday for the St. Louis Cardinals.
Yadier Molina and Oscar Taveras had RBI doubles that Stanton couldn't handle in a three-run sixth that sparked the Cardinals past the Marlins 3-2 at Busch Stadium.
Molina's drive glanced off Stanton's glove near the line, scoring Matt Holliday to make it 2-0. Taveras followed with an RBI ground-rule double inches away from Stanton's reach that made it 3-0.
"Both were hit pretty well. It's not like they were popups that were dropped," Cardinals manager Mike Matheny said. "We've seen Yadi hit a lot of balls that way that don't find the grass. He finally found one that did. And Oscar hit his ball well. Stanton almost made a really nice play on it, but he hit it well.
"They weren't easy plays or easy outs. Big hits. We needed them bad."
Particularly after a shaky ninth inning from closer Trevor Rosenthal, who secured his 26th save after almost ruining the festive mood of 46,131 fans eager to celebrate a win with a fireworks show.
Rosenthal, who was on a run of 12 consecutive scoreless outings, allowed singles to Marcell Ozuna and Donovan Solano before plunking pinch-hitter Reed Johnson to load the bases with no outs. Christian Yelich then singled off Holliday's glove in left-center to make it 3-1.
Matheny challenged the play, asking umpires to see whether Johnson had passed Solano near second base. Matheny's appeal was unsuccessful, and the bases remained loaded.
Ed Lucas struck out, but Stanton walked on a close 3-2 pitch that forced in Solano to make it 3-2. Rosenthal ended the drama when he induced Casey McGehee to bounce into a well-turned 5-4-3 double play, giving the Cardinals (47-40) their third consecutive win.
Carpenter could have come home to start a possible 5-2-3 double play, but went to second, where Daniel Descalso made a quick transfer and relay that edged out McGehee at first.
"That's a great play," Matheny said. "Danny does a nice job. He's always ready. He's had a really difficult, weird season without a lot of opportunities, but when he gets them, he's ready to play the game. The game was right there in his hands. None of us are surprised he made a big play for us."
Lance Lynn (9-6), coming off a two-inning start in a 9-1 loss to the Los Angeles Dodgers, rebounded by allowing no runs on five hits in 6 2/3 shutout innings, with three walks and six strikeouts.
"Lance set the tone and had a real nice start for us," Matheny said.
Lynn had spent the four days since the sluggish performance attempting to rebuild the callous on his middle finger. It worked, for the most part, until a blister developed.
"It's just part of pitching," said Lynn, adding that the blister will further help him develop a new callous. "A blister is easy to deal with. When you lose the callous, that's not fun."
Marlins right-hander Nathan Eovaldi (5-4) was sailing along until the sixth, matching pitches with Lynn.
But Matt Carpenter opened the inning with a towering double, a play the umpires reviewed to determine whether Carpenter's drive to right-center had cleared the wall. It did not.
Holliday lined a single to right to send Carpenter to third. Matt Adams flied out to short left before Carpenter scored and Holliday reached second on Eovaldi's wild pitch.
Jhonny Peralta's long fly advanced Holliday to third, and Molina brought in Holliday with his two-base hit off Stanton's glove. Taveras followed with his ground-rule double.
Molina is batting .500 during a five-game hitting streak (8-for-16) and is 5-for-6 in his last two games.
"He was trying to fix hitting the ball hard at people," Matheny said. "That's a hard thing to fix without getting yourself into trouble. Good things happen if you stay with a simple approach."
Matheny has been encouraged by Taveras' play during his second stint with the parent team. Taveras is batting .196 (10-for-51).
"We've seen a couple of hard outs; we've seen a couple of others that didn't go quite how he wanted them," Matheny said. "But he's doing a nice job. We've got to continue to watch him. He's got some things he knows he needs to work on, and he's working on them."
Lynn was relieved by Sam Freeman with runners at first and second in the seventh. Freeman retired Yelich on a roller to second as the Cardinals worked out of the minor threat.
Pat Neshek worked a scoreless eighth to lower his ERA to 0.79, further enhancing his bid to make his first All-Star team.