MIAMI — Jeff Locke had a feeling early in the game he had a chance to do something special.

Locke tossed a three-hitter and the Pittsburgh Pirates beat the Miami Marlins 10-0 on Monday night.

"Surprisingly it was in the fourth inning because I can see the pitches and said, 'Well geez, if things go really well for the next hour and a half we can line up a pretty good game,'" Locke said.

Locke (4-3) struck out one and did not walk a batter while throwing 67 of 105 pitches for strikes. It was the first complete game by a Pirate since Vance Worley on July 28, 2014.

"Fantastic to go through that lineup as efficiently as he did with no walks and one strikeout getting them to swing, the mis-hits, and we threw some leather out there behind him, which was fantastic as well," Pirates manager Clint Hurdle said. "I'm just proud of him. He continues to work hard and this is the culmination of some hard work."

It was his first complete game in 101 career starts.

"It wasn't like anything I had been a part of," Locke said. "It was pretty special. One hundred and one starts into this thing and I finally get to go a complete game. Very special."

Locke retired 19 straight at one point and needed just six pitches to get through the seventh inning.

"Obviously, he throttled us pretty good," Marlins manager Don Mattingly said. "He's a guy not real complicated, but he doesn't play around in the middle (of the plate) too often. He's on edges. It seemed kind of he had us where he wanted to tonight."

Gregory Polanco's grand slam, Sean Rodriguez's two-run homer, and David Freese's four hits helped power the offence for the Pirates, who won the first of a four-game series in Miami. The first two games were originally scheduled to be played in Puerto Rico, but were moved due to concerns of the Zika virus.

The announced crowd of 10,856 was a season-low for the Marlins, who entered the day averaging just under 20,000.

Marlins starter Justin Nicolino (2-3) allowed three runs and six hits in five innings.

Nicolino left in the sixth after giving up a leadoff single to Andrew McCutchen with the Marlins trailing 2-0. Jose Urena relieved Nicolino and eventually loaded the bases for Polanco, who deposited a 2-1 change-up into the seats in right-centre field for a 7-0 lead.

"I was looking for a fastball, but he left the change-up in the middle and I put a good swing on it," Polanco said.

It was Polanco's first career grand slam and his eighth home run of the season. He has hit in eight straight games with three home runs and 12 RBIs during the stretch.

Jung Ho Kang and Freese had RBI singles to start the scoring for the Pirates.

Two of the Marlins' three hits were erased by double plays.

LOCKE RECEIVES GAME BALL

Locke received the game ball from the final out and plans to send it home to his parents.

"They'll put it with the Little League balls and all of the other ones," Locke said. "There's not a ton from the big leagues up there. My first pitch is up there, but it's got a scuff mark on it from the dirt it hit in front of the plate. It'll go up there somewhere special, that's for sure."

OZUNA'S STREAKS SNAPPED

Marlins' CF Marcell Ozuna had his 11-game hitting streak and 36-game on-base streak snapped with an 0-for-3 night.

"Thank God I died like a hero because I died battling," Ozuna said. "The streak consisted of good at-bats. I was looking for the hole but the ball didn't find it. Hopefully we can start another one."

TRAINER'S ROOM

Marlins: RF Giancarlo Stanton (right side soreness) missed his sixth consecutive game, but could return Tuesday. ... 2B Derek Dietrich entered the game in the fourth inning after being struck in the head by a foul ball while in the dugout during Sunday's game. Dietrich replaced Miguel Rojas who appeared to hurt himself during his at-bat in the third. "He got a little stinger on that swing," Mattingly said. "They're calling it shoulder irritation right now, minor. They think he's going to be OK. Obviously, we'll know more if something happened overnight."

UP NEXT

Pirates will send RHP Gerrit Cole (5-3, 2.53 ERA) to the mound Tuesday. Cole is 3-0 with a 1.04 ERA in his last four starts.

Marlins will counter with RHP Jose Fernandez (7-2, 2.82). Fernandez is 21-1 with a 1.64 ERA in 31 career starts at Marlins Park.