The youthful Marlins are typically an overly aggressive hitting team. But in the series opener, they drew eight walks -- four in the eighth inning -- and they struck out just six times.
"Great at-bats," Miami manager Mike Redmond said. "I don't think we're known as a team that takes a lot of walks. We were able to zone it up and be patient at times when we needed it. We had some great at-bats. Ozo and Salty there to draw those walks were huge."
Miami had dropped six straight at Pittsburgh, dating back to 2011.
It appeared setback No. 7 was on the way before the Marlins enjoyed their biggest inning since scoring five times in the sixth on June 27 against the A's at Marlins Park. The Marlins sent 11 to the plate in the momentum-changing inning.
Boosted by the big eighth, the Marlins' bullpen slammed the door. Bryan Morris, who opened the season with the Pirates before being dealt to Miami in early June, struck out two in a perfect eighth inning. Chris Hatcher allowed a run in the ninth before sealing the series opener.
"This is a very resilient team," Morris said. "We're not going to stop fighting until the last out is made. Tonight is just another night that proves that. Since I've been here, that's kind of the way it's been. It's probably going to be that way until the end of the season."
At 55-57, the Marlins have an uphill climb to reach the playoffs. But a hot streak can get them back into the race.
"Getting the first win of this road trip is huge," Morris said. "We're on the outside looking in. We're going to scratch and claw our way and see what happens. Hopefully we put ourselves in a good situation to give ourselves a chance."
Pittsburgh had claimed a 2-1 lead in the seventh, but Miami roared back after starter Charlie Morton exited with seven innings of one-run ball. Four Pirates relievers were needed to get out of the eighth.
With the bases full and Miami down a run, lefty Justin Wilson walked Ozuna to tie the game. When Saltalamacchia drew a free pass, the lead swung in the Marlins' favor. Adeiny Hechavarria followed with an RBI single. Pinch-hitter Reed Johnson drove in a run with a fielder's-choice grounder and Christian Yelich provided an RBI double. Just two of the runs in the inning were earned because Casey McGehee reached on an error.
"There were walks involved, there was an error," Pirates manager Clint Hurdle said. "We just didn't get the things done that we needed to get done with a one-run lead."
Overall, it was another encouraging start for Brad Hand, who has worked into the seventh inning in four consecutive outings. The lefty went 6 1/3 innings, allowing two runs on six hits with four strikeouts.
"I feel good with all my stuff right now," Hand said. "I've really been pounding the zone with all my stuff, for the most part. I'm just trying to give my team a chance to win every night."
The biggest mistake the lefty made was issuing his lone walk, which was to Neil Walker to open the seventh. It came back to haunt him.
After Jayson Nix's sacrifice bunt advanced Walker to second, Gregory Polanco dribbled his single into left field to drive in the go-ahead run at the time.
"They always say walks come back and haunt you," Hand said. "It happened tonight. The count got to me there. I got 3-0 there and I couldn't get back into the zone. He came around and scored."
Walker scored without a throw, and Hand's night was finished after 83 pitches.
But backed by the big eighth inning, Miami claimed its 21st comeback victory.
"Every game is crucial from here on out for us," Hand said. "We're coming out here trying to win every game until the end of September, and hopefully into October."