Michael McKenry finished 4-for-5 with two RBI to help lift the Pittsburgh Pirates over the Miami Marlins, 7-4, in the middle contest of a three-game set on Saturday.
Neil Walker collected three hits, two of which were doubles, with two RBI and scored twice while Garrett Jones drove in two runs as well for the Pirates, who snapped a two-game skid.
Charlie Morton (3-2) was charged for four runs -- three earned -- on nine hits with six strikeouts over five innings to earn the victory.
Tom Koehler (2-6) was tagged for five runs on nine hits with three walks in five frames. He remains winless at Marlins Park with an 0-5 record in 13 games, including six starts, since breaking into the majors last year.
"It was one of those nights where he was grinding from the start," Marlins manager Mike Redmond said of his starter.
Logan Morrison and Giancarlo Stanton each went 3-for-4 with an RBI while Placido Polanco and Donovan Solano each drove in a run for the Marlins, who lost for just the second time in their last six games.
Back-to-back doubles to left to start the game from Starling Marte and Walker got the Pirates on the board. Walker stood on third with two outs before Jones drove him in with the third double of the inning to left. McKenry ripped a base hit to left to make it 3-0.
"I felt good at the plate," McKenry said. "It was fun."
The Marlins got a run back in the home half when Solano smacked a two-out base hit to right with runners on the corners.
Walker and Andrew McCutchen had base hits to begin the third inning. With runners on the corners and one away, Jones and McKenry each delivered RBI singles through the right side of the infield for a four-run cushion.
After a McCutchen fielding error put a man on second in the third, Stanton had an RBI double and Morrison's single plated Stanton. Polanco drove in Morrison from third with a two-out base hit to right to cut the deficit to one.
Marte began the sixth with a single up the middle and crossed the plate on a Walker line-drive double to right to make it a 6-4 game.
The Pirates tacked on a run in the eighth on a Pedro Alvarez single after McCutchen tripled to left with two outs.
Mark Melancon secured his fourth save of the season in the ninth when he stranded Stanton on second by getting Morrison to ground out to end the game.
Pirates shortstop Jordy Mercer snapped a career-high 11-game hitting streak, going 0-for-3 ... The Pirates have struck out 49 times over the last four games ... Miami has won 14 of the last 20 encounters with the Pirates ... Pittsburgh finished 6-for-17 with runners in scoring position, while Miami went 4-for-11 ... Koehler snapped a streak of six games where Miami's starters had gone at least six innings and allowed no more than two runs.