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.

NOTES: Austin Jackson has led off the Tigers' first inning with a base hit in all three games of the series. ... Cain made a terrific catch of Miguel Cabrera's opposite-field drive in the first, snaring the ball just as he crashed hard into the wall. ... Both starters labored, but after four innings, Shields had thrown 78 pitches and Porcello 40...It was the 12th time in his career that Shields has thrown 121 or more pitches. ... Eric Hosmer's first-inning single stretched his hitting streak to a career-best 12 games for the Royals.