PITTSBURGH -- The last time Josh Harrison hit a walk-off homer, he was a high school senior in Cincinnati. The game was played in front of a few dozen people on a spring afternoon. Still the only homer of his prep career remains ingrained in Harrison's memory.
Now it's got company.
The Pittsburgh Pirates utility infielder sent a fastball from Miami reliever Mike Dunn into the first row of seats in right-center leading off the ninth, the improbable homer lifting the Pirates to a 4-3 victory on Tuesday night.
"I knew it had a chance," Harrison said after his second home run of the season. "I knew it wasn't caught off the bat. I was running watching (Giancarlo) Stanton's reaction. I knew he wasn't going to catch it. I saw him pull up and it didn't kick back, I knew it was gone."
Pittsburgh manager Clint Hurdle sent Harrison out to leadoff the inning modestly hoping Harrison could find a way to get on base. Instead, Harrison provided another signature moment in a season that is starting to stockpile them for the first-place Pirates.
A marvelous diving grab by centerfielder Andrew McCutchen with two on in the seventh saved two runs and reliever Vin Mazzaro narrowly escaped a bases-loaded jam moments when a liner from Jeff Mathis landed inches foul. Mathis eventually flied to left on a night Miami left 11 runners on base.
Minutes later Harrison was getting the creampie to the face treatment.
"Those are little things that happen that make you go `Yeah, something's going on," Hurdle said. "There's no doubt the more feel good you get, the more you feel good."
The NL Central-leading Pirates have won three straight to move a season-high 24 games over .500 (68-44).
Dunn (2-3) bailed Chad Qualls after Qualls loaded the bases with no outs in the eighth. He struck out Pedro Alvarez and got Russell Martin to hit into a double play but couldn't get the best of Harrison, a bench player who has spent most of the season shuttling between Pittsburgh and Triple-A Indianapolis.
"Initially, I didn't think it was high enough to go out but it carried and it was a home run," Dunn said. "It was a good job on his part."
Donovan Solano went 3 for 5 for the Marlins but baseball's lowest scoring team left runners on base in six of the first seven innings.
"We couldn't get that hit to give us a little breathing room," Miami manager Mike Redmond said.
Pittsburgh's Jeff Locke has been one of baseball's biggest surprises, the 25-year-old soaring from fringe starter to All-Star. He's had trouble working deep into games since returning from his trip to New York for the midsummer classic, and for a while it appeared he was headed for another early exit after lasting just four innings against St. Louis in his last start.
Miami turned three singles -- none of them sharply hit -- into a run in the second then added two more in the third behind four straight singles to start the inning. The Marlins, however, couldn't pile on and Locke eventually settled down. The left-hander allowed three runs on nine hits in 5 2/3 innings, walking three and striking out four as his ERA ticked up to 2.47.
"There are lessons to be learned for him," Hurdle said of Locke. "He's always got to be the predator and the aggressor. We're into August. We're into September. Everybody that gets that ball, you've got to be throwing aggressive punches off the mound with intent and conviction."
Locke left two runners on in the sixth. He also left with a no decision as Mazzaro retired Ed Lucas with two runners on to end the inning.
Henderson Alvarez handcuffed the Pirates in their previous meeting, limiting Pittsburgh to just two hits in six innings of a victory two weeks ago. The Pirates, however, briefly figured him out in the third. McCutchen doubled off the wall to drive in two runs and Pedro Alvarez followed with his first triple of the year to tie it.
The Pirates never threatened against the Miami starter again, and Alvarez left after seven innings, giving up three runs on six hits, striking out six while not issuing a walk.
That left it up to the bullpens and Pittsburgh's "Shark Tank" continued its dominance. Mazzaro survived the seventh and the Marlins went meekly in the eighth or ninth before Harrison stepped to the plate.
"I've never been around a group of guys that fights this hard the entire game," Locke said. "We load the bases in the eighth and Pedro comes up and we don't score and you see who comes up with nobody on and walks off. It's funny how the game works like that."
Hurdle said LHP Francisco Liriano deserves to be in the NL Cy Young conversation. Liriano is 12-4 with a 2.02 ERA in 16 starts and was named the NL Player of the Week after picking up two victories between July 29-Aug. 4 ... The series continues on Wednesday when Pittsburgh's Charlie Morton (3-3, 4.07 ERA) faces Tom Koehler (3-6, 4.34). Morton gave up five runs in six innings of a loss to St. Louis in his previous start. Koehler pitched six shutout innings against the Mets in a win last Thursday.