And that was just one of many highlights in McKenry's night.
McKenry, who came in batting .191, raised his average 26 points with a double and three singles -- but tweaked his left knee during the game, and merely trotted up the first-base line after grounding to short to open the ninth. Walker added three hits for the Pirates, the NL wild-card leaders who set the tone with three first-inning runs against Tom Koehler (2-6).
"It's all right," McKenry said of his knee, which could be a big issue for the Pirates since starter Russell Martin was also out of the lineup with what the team thinks is a minor knee injury. "It's just kind of stuck."
Charlie Morton (3-2) allowed a season-high nine hits in five innings, but still found a way to win consecutive starts for the first time since May 2011. Mark Melancon worked the ninth for his fourth save.
Koehler gave up nine hits and five runs in five innings.
"Offensively, I was happy with the way we bounced back and gave ourselves a chance," Marlins manager Mike Redmond said. "We were battling from behind the whole game. ... After the third inning we didn't get much going but pitched well enough to keep it close."
The Pirates finished with 14 hits, their most since June 12.
McKenry was a most improbable catalyst of that attack. The light-hitting catcher came into the night with four hits in 32 at-bats, and only three hits in July.
But his RBI single capped a three-run first inning -- Pittsburgh's highest-scoring opening frame since June 18 -- and he added another single in the third to push the Pirates' lead to 5-1. He added a double in the fifth and a single in the seventh.
McKenry also saved an almost-sure run in the fifth to preserve what was then a 5-4 lead. Morton threw a pitch wildly, but McKenry snagged it and keep it from heading toward the backstop, keeping Stanton at third.
"I take a lot of pride in not letting balls get by me," McKenry said. "It's another way to keep somebody from getting a free 90 (feet), especially when they're at third base. It was a one-run ballgame at the time, it would have made it 5-5, so that was a big moment. I think it was a funny sequence because I'm sure Polanco felt really uncomfortable after that."
Polanco wound up striking out.
"That's the second time he's caught a ball thrown behind a hitter this year," Pirates manager Clint Hurdle said. "I don't know how you do that."
Walker and Garrett Jones each drove in two runs for Pittsburgh.
By the time Koehler had thrown five pitches, the Pirates were up 1-0. Starling Marte smacked a double just to the inside of the third-base bag on Koehler's second pitch, and three offerings later, Walker hit a ball to nearly the same spot to open the scoring.
Jones blooped a double into short left to make it 2-0, and McKenry got one under Polanco's glove and into right for the third run.
"I thought as a whole group, we swung the bat really well," McKenry said. "The bullpen came in and just shut the door tonight. It was fun."
It was the third time Koehler allowed at least three first-inning runs in six starts, but Miami clawed back.
Stanton doubled to bring Yelich home and start what became a three-run third for Miami. One batter later, Morrison looped a soft single into left, and Stanton read it correctly, taking off almost on contact and scoring easily. Polanco added a single to bring Morrison home and get the Marlins within a run, but they got no closer.
- The Marlins said right-hander Kevin Slowey (right forearm) is heading to the disabled list, with a corresponding move coming Sunday.
- Pirates SS Jordy Mercer's 11-game hitting streak ended.
- Sunday's pitching matchup pits a pair of stellar rookies, with All-Star Jose Fernandez (6-5, 2.74) going for Miami against Pittsburgh's Gerrit Cole (5-3, 3.51).
- Pirates players signed Friday's scorecard as a gift for Marlins rookie Jake Marisnick, who got his first career hit in that game.
- Marlins closer Steve Cishek has converted 16 straight save chances. "Couldn't get him in the game the first two months and now he's pitching a lot, which is great," Redmond said.