KANSAS CITY, Mo. -- Salvador Perez hit a two-run homer with two outs in the sixth inning and the Kansas City Royals rallied to beat the Detroit Tigers 4-3 on Saturday night.
The Royals rebounded from an embarrassing 16-2 loss on Friday night when they allowed 26 hits.
After Eric Hosmer doubled to lead off the sixth, Perez connected against Justin Verlander for his 11th home run of the season.
Verlander, who is 0-3 in five starts against the Royals this season, allowed four runs and eight hits in seven innings.
Wade Davis picked up the victory with 1 2/3 scoreless innings. Greg Holland, who blew a save on Thursday, pitched a flawless ninth to log his 39th save in 42 chances.
Miguel Cabrera, who walked with the bases loaded in the fifth inning, singled home Brayan Pena in the seventh to trim the Royals' lead to one run.
Royals left-hander Danny Duffy threw 31 pitches in the first inning. He walked Austin Jackson and Miguel Cabrera, two of the first three batters he faced. Prince Fielder singled to right, scoring Jackson, with the first run.
The Royals tied it in the third when Emilo Bonifacio's bunt single on the first pitch from Verlander scored Alcides Escobar.
The inning began with a David Lough double. Lough advanced to third on Jarrod Dyson's sacrifice bunt. With the infield in, Escobar hit a grounder to Fielder, who threw out Lough at the plate. Alex Gordon's single to right moved Escobar to third and he scored on Bonifacio's bunt.
Duffy retired 10 of the next 11 batters he faced, six of them on flyouts to Gordon in left, after the bumpy first-inning ride.
But in the fifth, Duffy's control again betrayed him.
Nick Castellanos led off the inning with an infield single, his first big-league hit. With one out, Duffy walked Roman Santiago and Jackson on eight pitches to load the bases.
That was manager Ned Yost's cue to bring in Wade Davis, who was celebrating his 28th birthday. After Davis struck out Torii Hunter, he put Cabrera in a 0-2 hole before walking him, forcing home Castellanos.
Verlander, however, could not hold the 2-1 lead. The Royals tied it in the bottom of the fifth when Dyson walked, stole second and scored on Escobar's single to left.
When Bonifacio was out on an attempted steal in the first, it ended two streaks. It was the first time Bonifacio had been caught stealing in 14 attempts since the Royals acquired him in an Aug. 14 trade with the Toronto Blue Jays and it snapped the Tigers' streak at 24 without catching a base stealer.
NOTES: Omar Infante and Andy Dirks each had five hits in the Friday victory. The last time the Tigers had more than one player with five hits in a game was July 30, 1917, at Washington (Ty Cobb, Bobby Veach and Ossie Vitt). ... Royals 2B Chris Getz, who was removed from the game on Tuesday, passed concussion tests and has been cleared to play. ... Tigers RHP Doug Fister, who starts Sunday, is 5-2 with a 2.91 ERA since the All-Star break.