KANSAS CITY — Rick Porcello outdueled James Shields and the Detroit Tigers won their fifth in a row, beating the Kansas City Royals 5-1 Saturday night.
Porcello (12-5) raised his career record against Kansas City to 8-3 while yielding six hits and one run through seven innings.
Alex Avila drove in three runs, putting the Tigers in position to go for a four-game sweep on Sunday in what had been billed as an AL Central showdown.
The Royals have lost six of their last eight. They are 0-6 at home against Detroit this year.
Shields (9-5) went seven innings and allowed two runs and seven hits. He struck out eight and walked none while throwing 121 pitches.
The Tigers scored three in the ninth against reliever Aaron Crow, starting with J.D. Martinez's leadoff home run.
Nick Castellanos was safe at first after a replay review overturned a call, and Avila hit a 427-foot homer.
Ian Kinsler's RBI single put the Tigers on top 1-0 in the third.
In the fourth, Torii Hunter hit a drive into straightaway center field over the head of Jarrod Dyson and turned it into his first triple of the season. The relay throw actually beat the sliding Hunter to the bag, but he was safe when third baseman Mike Moustakas failed to get the tag down. Avila's RBI single made it 2-0.
Billy Butler had a sacrifice fly in the sixth after the Royals had wasted several scoring chances.
Alcides Escobar bounced into an inning-ending double play in the second, Lorenzo Cain did the same in the third and then, with the bases loaded and two out in the fifth, Porcello struck out Cain on a 2-2 pitch.
Al Alburquerque pitched a perfect ninth for the Tigers, who held the Royals to one run for the second night in a row.