MIAMI - Six walks and no run support were a bad combination for Jeff Locke.
The Pittsburgh Pirates left-hander had a career-high nine strikeouts, but shaky control cost him in a 2-0 loss Friday to the Miami Marlins.
"I felt the way it looked - kind of all over the place," he said. "Kind of sloppy. I felt really good, but just command wasn't there."
A lack of offense left him no margin for error. Henderson Alvarez earned his first National League victory, Giancarlo Stanton hit his 12th homer, and Miami managed another low-scoring victory.
The shutout was only the third by the Marlins, but their starters have an ERA of 2.44 since the All-Star break. They are 4-4 over that stretch even though they have totaled only 15 runs.
"It's unreal going in knowing you have a chance even though the bats haven't been there, and knowing one run may be enough," Stanton said. "You can go about the game completely differently."
Tonight: Pittsburgh Pirates at Miami Marlins, 7:10 p.m.
Pitching matchups: Pirates RHP Charlie Morton (2-2) vs. Marlins RHP Tom Koehler (2-5)
Locke (9-3) allowed only two earned runs in 6 2-3 innings but lost for the first time in his past 10 road starts. His ERA rose to 2.15.
Alvarez (1-1) hit 98 mph on the radar gun, gave up just two hits in six innings and lowered his ERA to 2.64.
"That was a great performance," Marlins manager Mike Redmond said. "That's the hardest I've seen him throw. You could tell he was pumped up. When you're playing a playoff team, it's good to see guys take it up a notch."
The start was Alvarez's fifth after he sat out the first half of the season with right shoulder inflammation.
"He just had explosive stuff," the Pirates' Russell Martin said. "His fastball was electric."
Steve Cishek, Miami's fifth pitcher, gave up a pair of two-out singles in the ninth inning but earned his 21st save in 23 chances, including 16 in a row. He retired pinch-hitter Jose Tabata on a groundout with two on to end the game, completing a five-hitter.
Pittsburgh managed only six runners, including one erased on a double play, and went 0 for 6 with runners in scoring position. The Pirates struck out six times in the final three innings against Marlins relievers.
Martin said he tweaked his left knee blocking home plate on a play in the second inning. He left the game in the seventh and said he would likely take Saturday off, but expected to play Sunday.
"Just a little tweak," he said. "I've actually had something like this before, and I played with it in the past. It's a little uncomfortable, but it doesn't keep me from doing anything physically. I can run, I can jump, I can do whatever."
Martin absorbed a blow when he tagged out Jeff Mathis, who was trying to score from first on Alvarez's two-out double in the second inning.
Miami broke a scoreless tie in the sixth. Locke gave up two walks sandwiched around a single by rookie Jake Marisnick, his first major-league hit. With the bases loaded and one out, Remond pinch-hit for Alvarez, and Placido Polanco tapped a dribbler toward third for an RBI infield hit.
"It's always a tough decision when somebody is pitching as well as Alvarez was," Redmond said. "But that's the best pitching staff in the National League that we're going against, and I wasn't sure we were going to get another chance. We went for it, and it worked out."
Jordy Mercer extended his hitting streak to a career-best 11 games with a single in the third. That was the Pirates' lone hit until Starling Marte reached on a bunt single with two out in the sixth.
Game notes: RF Tabata (right forearm) was held out of the starting lineup for the second game in a row. ... Pittsburgh 1B Gaby Sanchez, a Miami native and former Marlin, had 25 friends and relatives at the game in a suite provided by the Marlins. ... RHP Charlie Morton, scheduled to start Saturday, is 2-3 with a 5.06 ERA in six starts against the Marlins.