Shields allowed one unearned run on two hits over seven innings, getting 12 ground-ball outs, though he was gone by the time the Pirates edged the Padres, 2-1, in the bottom of the ninth inning for a victory at PNC Park.
Shields, who entered the game with a 5.50 ERA in nine road starts this season, worked fast in the early innings, got a double-play ball in the third inning and looked fresh and effective all night.
"For the most part, my two-seam was really good today. I didn't have as good zip on my fastball today as I normally do," Shields said. "… I felt my two-seam was good today and I was pounding the zone."
San Diego pitching coach Darren Balsley was impressed.
"He had a good pitch mix and he was efficient early on," Balsley said of Shields, who had three strikeouts and one walk. "It just seemed he was in control of the game."
Shields took a 1-0 lead into the seventh inning. He got Neil Walker on a ground ball but then allowed his second hit of the game, an opposite-field double to Andrew McCutchen. Shields then got Jung Ho Kang on a fly ball and appeared to be on his way out of trouble.
He got ahead of the next hitter, Francisco Cervelli, 1-2, but hit him in the hip with a changeup. That gave Pedro Alvarez -- the hero two innings later, when he got the game-winning hit -- a chance to hit.
Shields looked like he had Alvarez struck out on the next pitch, a backdoor cutter. Two pitches later, Alvarez bounced a hard chopper toward third baseman Yangervis Solarte, who made a nice diving stop, but bounced his throw to first base in haste, trying to get Alvarez.
That allowed the tying run to score as Solarte was given an error. The Padres have now allowed the most unearned runs (46) in baseball.
"I feel like he [Solarte] made an unbelievable play," Shields said. "… And when you make a play like that, you tend to rush when you get up. It's unfortunate. He's been playing really well over there lately. There's nothing you can really do about it.
"It's a game of inches. We have to move on."
San Diego interim manager Pat Murphy, who has now seen four of Shields' starts in person, felt the way Balsley did.
"He was really good. ... There was nobody that was going to beat him tonight. It's unfortunate that we couldn't make a play there with two outs," Murphy said.
Corey Brock is a reporter for MLB.com. Keep track of @FollowThePadres on Twitter and listen to his podcast. This story was not subject to the approval of Major League Baseball or its clubs.