KANSAS CITY, Mo. (AP) -- John Buck had three hits and two RBIs, and the Royals beat up Rangers starter Kevin Millwood to win their third straight.
Texas made things interesting in the ninth off closer Octavio Dotel. Nelson Cruz hit a two-run homer and Frank Catalanotto followed with a double, before Dotel struck out pinch hitter Ramon Vazquez and got Michael Young to fly out to end the game. It was Dotel's 11th save in 14 chances.
Cruz, who was called up Friday from Triple-A Oklahoma, hit two home runs and drove in all five runs for the Rangers.
The Royals had six straight hits in the third inning, leading to four runs. David DeJesus' single to left chased Millwood (7-9), who allowed six runs and nine hits in 2 2-3 innings -- his shortest outing since he went 1 2-3 innings on May 14 against the Los Angeles Angels.
Left-hander Odalis Perez (6-9) picked up just his second victory at home this season.