MIAMI -- Pittsburgh Pirates left-hander Jeff Locke had pitched in the ninth inning before but only in a mop-up role in lopsided games.
This time, Locke made it all the way through from the first to the ninth, mopping the floor with the Miami Marlins.
Locke pitched a three-hitter with no walks for his first career shutout, leading Pittsburgh to a 10-0 win over Miami on Monday night at Marlins Park.
"He did a good job of pitching to contact," Pirates second baseman Josh Harrison said of Locke, who struck out just one batter. "When he got to the ninth inning, we said, 'Let's get it, Lockie'. He was in a groove.
"Main thing (is) we wanted him to finish what he started, and we were glad he did."
Locke, a 28-year-old who made his major-league debut in 2011, had plenty of help from the Pirates offense.
Gregory Polanco hit his first career grand slam, and David Freese went 4-for-5 with two doubles, two runs scored and two RBIs as Pittsburgh (29-21) snapped a two-game losing streak and improved to 14-12 on the road.
Polanco pulled a 2-1 pitch to right off of right-handed reliever Jose Urena to cap a five-run sixth inning. It was his eighth homer of the season.
Locke (4-3), who entered the game with a 5.09 ERA and lowered it to 4.33, retired 19 straight batters between the third and ninth innings. That streak was snapped by pinch-hitter Jeff Mathis' two-out single, but it was still a stellar effort for Locke.
"I didn't use my breaking (pitches) much, it was more fastballs and changeups," said Locke, who threw 105 pitches. "(The Marlins) were aggressive, and that plays to my benefit when they are not getting hits. I had more balls hit in the air than I would have liked, but it's a big park.
It was the Pirates' first complete game of the season. The last Pirates pitcher to throw a shutout was Vance Worley on July 28, 2014.
"This was pretty special," Locke said of his shutout on career start No. 101. "The offense was really good, and that enabled the skipper to want to send me back out."
Rodriguez, who is from Miami's Braddock High School, added a two-run homer in a three-run ninth to close the scoring.
The Pirates are 7-3 against left-handed starters after defeating Miami's Justin Nicolino (2-3). Nicolino allowed three runs in five innings.
Marlins manager Don Mattingly took Nicolino out in the sixth after he gave up a leadoff single to McCutchen. That's when Mattingly brought in the Urena.
"(The Pirates) had a stack of righties coming up," Mattingly said of his decision. "We wanted to go to a right-hander there. It didn't work."
Miami (26-25) fell to just 10-14 at home this season. Marlins center fielder Marcell Ozuna, who had reached base in 36 consecutive games and had an 11-game hit streak, had both runs broken. He went 0-for-3.
"Thank God I died like a hero because I died battling," Ozuna said. "I was looking for a hole, but the ball didn't find it."
Mattingly said the loss, which was the most lopsided of the season for Miami - had a lot to do with Locke.
"He throttled us pretty good," Mattingly said. "He doesn't play in the middle of the plate too often. He's on the edges."
NOTES: Pirates 2B Josh Harrison (illness) returned after missing two games. Monday was the 30th anniversary of Barry Bonds' major-league debut. Bonds, now a Marlins hitting coach, made his debut with the Pirates. ... Marlins 2B Derek Dietrich was not in the starting lineup after getting hit in the back of the head by a foul ball while in the dugout on Sunday. However, Dietrich entered the game after 2B Miguel Rojas suffered a shoulder injury. ... As part of his rehab, Marlins LHP Mike Dunn (forearm) pitched a 1-2-3 inning at Single-A Jupiter on Sunday. He could be activated Tuesday. ... Marlins RF Giancarlo Stanton (sore right side) missed his sixth straight game but has been taking batting practice. ... Tuesday's game matches two top young right-handers: Miami's Jose Fernandez, 23, an All-Star in 2013 and 21-1 with a 1.64 ERA in his career at home, against Pittsburgh's Gerrit Cole, 25, an All-Star last year when he went 19-8 with a 2.60 ERA.