The right-hander tossed seven scoreless innings against a banged-up lineup that included three recent callups.
"We're throwing a different look out there, no question," said manager John Gibbons. "But in particular today, if Shields is on, I don't know if it matters all the time who you got in there. It's going to be a lot of times slim pickings."
Toronto's offense has scored just 22 runs over the last seven games, despite winning five of them. But the suddenly light-hitting club barely threatened to score against the Royals.
The Blue Jays' only serious chance came in the fifth inning. Rajai Davis hit a triple with one away in the frame, but was eventually left stranded by his teammates. Anthony Gose and Kevin Pillar struck out swinging to end the threat.
Toronto managed just three hits and a walk, all of them against Shields.
"[Shields is] always tough. He's one of the best pitchers in the game," said Jose Reyes. "When the team scores some runs early, he's going to get tougher and tougher. We have to give some credit to Shields, because he's a good pitcher."
"This win was huge," said Shields, who picked up his 10th victory. "I started throwing my changeup early, and this team knows me pretty well, obviously. They knew it was coming, and I made a little adjustment at the end of the game and started throwing fastballs later in counts, and tried to get through seven."
While Shields dominated, Blue Jays starter J.A. Happ struggled.
Happ had allowed nine earned runs in 10 innings over his last two starts, and things weren't much better on Sunday.
The left-hander was stung early by a walk to former teammate Emilio Bonifacio in the first. After Bonifacio stole second and took third on a throwing error by catcher J.P. Arencibia, he scored on a soft groundout by Eric Hosmer.
Happ tossed a perfect second, before things unraveled in the third.
With Jarrod Dyson on second, Alcides Escobar grounded to Reyes. Dyson took off for third and got caught in a rundown, and appeared to be tagged out by third baseman Brett Lawrie. However, home-plate umpire Gary Darling called defensive interference on Reyes, putting runners on the corners.
Happ then surrendered three consecutive singles to Alex Gordon, Bonifacio, and Hosmer, pushing across four runs and giving the Royals a 5-0 lead.
"You guys are probably sick of me saying, 'It's frustrating,' because it's frustrating for everybody," said Happ, who has a 6.23 ERA in six starts since returning from injury. "They just hit them where we weren't, we got outplayed, and we lost, 5-0, today."
The left-hander allowed five runs (three earned) on six hits and a walk, while striking out three in just four innings of work. But it was the interference call on Reyes that drastically altered that decisive third inning.
Instead of having one out and a runner on first, the Royals had runners on the corners and nobody out.
"It changes that inning, definitely," said Happ. "But at the same time, I'm trying to minimize damage. [Dyson] wasn't even looking at Jose, and he actually took a step back into Jose. I know he has the right to create his own baseline, but he had no clue Jose was even there."
"We practice that in Spring Training. You have to be a little bit more on the side," Reyes added. "I just [tried to] get the ball from Lawrie in that situation, and we made contact. I'm not allowed to do that. ... It was kind of a tough day. I didn't mean to do that, but everything happens so quickly in the game. Hopefully, that won't happen again."
While the Blue Jays failed to close out the sweep, they have won consecutive series for the first time since July. It was the first winning homestand since June 17-23, when Toronto won six straight at home.
"We're happy to win the series," said Reyes, "Every time we win a series, we'll take that."