DETROIT -- Miguel Cabrera's body is making it difficult for him to run without appearing to be in pain.
Luckily for the Tigers, it's not keeping the reigning Triple Crown winner from swinging the bat really well.
Cabrera hit a tiebreaking solo homer in the ninth inning, lifting Detroit to a 6-5 win over Kansas City on Saturday night hours after Royals infielder Miguel Tejada was suspended for at least the rest of this season for testing positive for an amphetamine.
"Every at-bat, every game, you want to do something good, because I think people pay for that," Cabrera said.
Cabrera has been slowed by a strained lower abdomen, injured hip and banged-up left leg. He was healthy enough to take a victory lap and looked relatively comfortable rounding the bases as a sellout crowd of 41,850 cheered.
"When you hit a home run like that, you're loose, smooth," he said.
Cabrera leads the major leagues with a .358 batting average and 117 RBIs and trails only Baltimore's Chris Davis in homers.
Aaron Crow (7-4) threw five pitches, with Cabrera hitting his 3-1 offering for an opposite field homer, his 39th, driving a fastball high and outside just over the right-field wall.
"There's not three hitters in baseball that could hit that pitch out of the ballpark," Royals manager Ned Yost said. "He's one of them. Take your hat off to him."
Joaquin Benoit (3-0) gave up only one walk in the ninth for the win.
Prince Fielder hit a tiebreaking solo homer in the seventh inning and made a good defensive play for the third out of the ninth.
Kansas City tied the game for a third time in the eighth inning when Emilo Bonifacio singled, stole second, advanced on a throwing era by Detroit's backup catcher and scored on Chris Getz's RBI single off Jose Veras.
"We couldn't get the lead," Yost said.
Detroit starter Doug Fister gave up three runs and 10 hits over 6 1/3 innings. After throwing a season-high 118 pitches, he was replaced by Drew Smyly, who gave up a game-tying homer to Salvador Perez on a 1-2 count with two outs in the seventh.
Kansas City starter Wade Davis allowed four runs on eight hits and lasted just 3 2/3 innings.
Tigers manager Jim Leyland and catcher Brayan Pena were ejected in the fourth inning after a call went against Detroit and helped Kansas City tie the game.
The Tigers were angry because Kansas City's Alcides Escobar appeared to foul off a pitch with a check swing after the ball hit the dirt. The umpiring crew, though, ruled that it was a wild pitch and that allowed Chris Getz to advance from first to third base.
Leyland was ejected and went on the field a second time, directing a demonstrative rant toward first base umpire Bob Davidson.
After Escobar hit a game-tying double, Pena had more to say about the call and was tossed by plate umpire Mike Muchlinski.
Davidson took the blame for missing the call.
"That's really on me because I should've seen the ball change directions," Davidson said following the game.
In the home half of the inning, Cabrera put Detroit ahead 4-3 with his 24th double on a hit deep into the right field corner, but barely beat the throw to second base. Cabrera, clearly, would rather play through pain than sit and hope to get healthier.
In the first inning, he hit a grounder to third that Mike Moustakas bobbled into foul territory and still managed to throw Cabrera out.
Kansas City scored two in the third inning on consecutive singles by Alex Gordon and Perez and tied it at 3 in the fourth after the disputed call that led to Leyland and Pena being ejected.
The Royals tied the game for the second time with Perez's fifth homer in the seventh and Fielder's line drive over the right-center wall -- his 19th homer, and second of the series -- put Detroit back ahead by a run.
Tejada will not be back in baseball any time soon, if at all.
He became the third former MVP in a month to be suspended, getting suspended for 105 games. His ban came after Yankees slugger Alex Rodriguez was suspended for 211 games -- he's appealing -- and Brewers star Ryan Braun got a 65-game penalty that will keep him off the field for the rest of the season.
A person familiar with the situation told The Associated Press that Tejada tested positive for Adderall, a substance the 39-year-old has used to treat attention deficit disorder. The person spoke to the AP on condition of anonymity because those details were not made public.
Tejada apologized in a statement released by the players' association, saying he made a mistake for taking a medication to treat a medical condition while re-applying for an exemption to use it.
Moustakas played for the first time since leaving a game Monday with an injured left calf and Jamey Carroll pinch hit for him in the seventh. "He was fine, but his leg was starting to tire a little bit," Yost said. ... Before throwing out the ceremonial first pitch, NASCAR driver Kasey Kahne chatted about racing with Tigers right-hander Justin Verlander, who said he has taken laps at Richmond International Raceway in his own car.