Shields (0-2) still seeks his first win after Friday's 3-2 defeat to the D-backs in which he gained a no-decision.
Last season, Shields broke from the gate at 7-0 and was undefeated until mid-June. This season, he's gone three outings without a victory.
"I thought he was great,'' manager Andy Green said. "I thought he was competitive all the way to the end.''
Shields turned in a gritty performance, charged with two runs and six hits over seven innings. He elevated a fastball to Welington Castillo in the second inning and Castillo smacked it for his first home run of the season. Then Nick Ahmed doubled in Yasmany Tomas to tie the score in the seventh, with Shields facing two more batters before being lifted.
"He went out there and pitched his butt off,'' teammate Jon Jay said. "He kept us in the game and did his job today.''
But his third outing was like his other two. He pitched well, but again had little to show for it.
"I felt good overall,'' said Shields, who struck out six and walked four. "I just don't like losing so I'm not too happy about the game, obviously. We got to find a way to win those games when we are in it like that.''
Instead the Padres squandered another solid pitching performance. In four straight games, a Padres starter has allowed two earned runs or fewer, with San Diego losing all four games.
After allowing the game-tying double by Ahmed, Shields walked the next batter, Jean Segura. That brought with it a visit from Green and that usually means he has the hook.
But Green said he saw the look in the Shields' eye and liked the matchup against Socrates Brito. After telling Shields this was his last batter, regardless, he left the right-hander in and Shields fanned Brito to end the inning.
"I told [catcher Derek Norris] before [Green] even came out there that I got this next guy,'' Shields said. "But it's nice to have the manager's confidence. I've been in that situation before and been successful.''
He was against Brito, a burst of success that couldn't trump the Padres failing to win for the first time this season at Petco Park.