James Shields pitched seven innings of three-hit ball to win his fourth straight decision, Eric Hosmer drove in two runs and the Kansas City Royals beat the Toronto Blue Jays 5-0 on Sunday to avoid a three-game sweep.
The Royals, who entered play 6 1/2 games behind Tampa Bay in the race for the second AL wild-card berth, won for the sixth time in eight games.
Hosmer had two hits and two RBIs.
It was his 51st multihit game of the season, tying him with five other players for the major league lead.
Former Blue Jays infielder Emilio Bonifacio had two hits, scored twice and stole two bases for the Royals.
He's 11 for 11 in stolen base attempts since joining Kansas City on Aug. 14.
Shields (10-8) improved to 4-0 with a 1.53 ERA in his past five starts.
The right-hander walked one and matched a season-high with nine strikeouts.