KANSAS CITY, Mo. -- While Salvador Perez was driving in a career-best five runs, Tigers slugger Miguel Cabrera struck out a career-high four times, including twice with the bases loaded.
Put those two together and the Kansas City Royals held off the Tigers for an 8-6 victory on Tuesday night.
Kelvin Herrera, the fifth of six Royals pitchers, threw three straight sliders to Cabrera to strike him out swinging to end the seventh with the bases full.
"Now I have a slider -- ho, ho, ho," Herrera said.
Cabrera probably was not expecting that from a right-arm that can dial up 100 mile per hour with his fastball.
"Who knows? You've got to be ready for anything," Cabrera said.
While Cabrera did have a two-run double off winning pitcher Yordano Ventura in the fifth, he also struck out in the third with the bases loaded. Pitchers are throwing backward to Cabrera, not giving him a steady diet of fastballs.
"Hitters like Migey get pitched like that a lot," Tigers manager Brad Ausmus said. "It's just the nature of who they are. You don't keep pumping heaters to a Triple Crown winner. That will cost you.
"We're so used to seeing him roll. When he's not hitting .320 or .330, it seems like something is wrong. The truth is its just part of the (young) season because the numbers on the scoreboard are more dramatic or more pronounced, he's off to a bad start. The truth is if this happened in July you wouldn't even notice."
Perez, who had one home run and five RBIs in his first 12 games, clubbed a three-run homer in the fifth inning and a two-run double in the third. Both hits came with two outs as the Royals jumped out to an 8-2 lead after five innings.
But by the end of the game, the Royals were forced to utilize closer Wade Davis, who picked up his sixth save in as many chances. The Royals usually reliable bullpen was anything but with four runs off Danny Duffy and Joakim Soria.
Tigers catcher Jarrod Saltalamacchia homered in his third consecutive game, a three-run blast to center off Royals left-hander Duffy.
After Duffy struck out the first two batters in the seventh, he yielded a single to Victor Martinez and walked J.D. Martinez before serving up Saltalamacchia's fifth home run of the season. He is the first Tigers catcher to hit five home runs within the club's first 12 games.
Soria, who absorbed the loss on Sunday at Oakland, faced four Detroit batters in the eighth and retired only one. He was removed after walking Justin Upton on four pitches to load the bases.
Herrera was summoned to face Cabrera and struck him out on three pitches. Herrera, however, hit Victor Martinez in the right knee with a pitch to force home Jose Iglesias. Herrera retired J.D. Martinez on a fly to right to end the inning.
"Our roles are set until we need to change our roles," Royals manager Ned Yost said of his bullpen. "So will we go back and look at it? Yeah."
Before the game Perez met with cancer patient Teresa Thaman and her husband David, who are from Joplin, Mo.
"Hopefully, God blesses that girl, and she'll be alive for a long time," Perez said.
Tigers right-hander Shane Greene threw 31 pitches in the Royals' three-run second, which began with Kendrys Morales and Alex Gordon coaxing walks with full counts.
Jarrod Dyson, who was just activated off the disabled list, singled to left in his first at-bat of the season on Greene's first pitch, scoring Morales. Dyson and Gordon each moved up a base on the throw home.
Greene promptly got Alcides Escobar in an 0-2 hole and looking befuddled at the plate. But with a full count, Escobar punched a single over the head of shortstop Jose Iglesias, driving in two runs.
The Royals hiked their lead to 5-0 in the third on Perez's two-out, opposite-field double. Morales singled and Gordon walked ahead of Perez.
The Tigers got two runs back in the fifth. Cabrera, who struck out in his first two at-bats, laced a two-run double, scoring Ian Kinsler and Upton. The inning ended with Mike Aviles flying out to Dyson in shallow right with the bases loaded.
Perez made it 8-2 with a three-run homer in the bottom of the fifth, driving a 2-1 pitch from left-hander Blaine Hardy out to left with Eric Hosmer and Morales aboard. Hardy was making his season debut after coming off the disabled list.
"It's one bad pitch," Hardy said. "It sucks. It's one of those things I wish I could take back the pitch, but I can't. I figured he wouldn't be sitting on a curveball, but judging by his swing I think he knew a curveball was coming. That just comes with facing these guys so many times. It's kind of like a chess match."
Greene was pulled after 4 1/3 innings, allowing seven runs, six hits and four walks and hitting a batter.
Ventura, who threw 98 pitches in five innings, was replaced by Luke Hochevar to start the sixth. Ventura gave up two runs, six hits and three walks while striking out five.
NOTES: The Royals recalled OF Jarrod Dyson from a rehab assignment with Triple-A Omaha and started him in right field. He pulled his right oblique in his first spring training at-bat and began the season on the disabled list. The Royals optioned OF Reymond Fuentes to Omaha. ... The Royals placed RP Dillon Gee on the paternity leave list and recalled RHP Miguel Almonte to take his roster spot. Gee is expected back Thursday. ... The Tigers activated LHP Blaine Hardy (shoulder) from the DL and designated RHP Logan Kensing for assignment. ... OF Cameron Maybin, who is rehabbing with Triple-A Toledo from a left wrist fracture, was hit by a pitch Sunday on the same wrist but in a different area. Manager Brad Ausmus said X-rays and a CT scan were "clean" and Maybin could resume his rehab assignment soon. ... Mike Aviles started at third base for the Tigers, his first start since April 9. Nick Castellanos has started the other 10 games at third. ... The Tigers assigned veteran C Humberto Quintero to a minor league contract. ... Tigers RHP Jordan Zimmermann and Royals RHP Ian Kennedy are the pitching probables for Wednesday. ... Tigers RHP Jeff Ferrell, who is on the DL with a rotator cuff impingement, began a rehab assignment with Class A Lakeland, throwing a scoreless inning against Brevard County, striking out one and allowing a hit.