DETROIT -- Matt Stairs and Zack Greinke turned their fortunes around Thursday night.
Stairs struggled in the first half of the season, hitting .252 with eight home runs and 27 RBI.
"When you get 37 years old and you get three days off," Stairs said about the All-Star break, "you feel pretty good when you come back."
He said he went home to Maine and spent time with his wife and three children and watched hitting tapes of himself earlier in his career with Oakland.
Greinke (2-11) had lost five straight decisions and hadn't won in seven starts.
He allowed two runs and five hits in 5 1/3 innings, walking three and striking out three.
"I thought it was important to get him a win," Kansas City manager Buddy Bell said about pulling Greinke in the sixth. "Get us a win."
Greinke has only gone six innings once in his last 11 starts.
"I don't even think it's the pitch count, I just get to the sixth inning and I'll be bad," Greinke said. " ... They'll have to take me out."
Craig Monroe of the Tigers certainly wasn't impressed with the Royals' starter.
"I saw nothing special with him tonight," he said. "He made some mistakes, but got off the hook. You have to give him credit. He's just a young pitcher still learning."
Mike MacDougal pitched the ninth for his 12th save.
David DeJesus added three hits and two RBI for Kansas City, which set a season high for runs.
Chris Shelton homered and drove in three runs, Monroe homered and had two RBI, and Magglio Ordonez drove in two runs for Detroit.
"Definitely not the way we wanted to start the second half," Shelton said. "We gave up a few too many walks and didn't score enough runs."
Jeremy Bonderman (11-6) took the loss despite matching his career high with nine strikeouts. He gave up six runs and eight hits in six-plus innings.
"Bonderman had good stuff. We started swinging at strikes," Bell said. "He got behind in the count."
Down 6-2 in the seventh, Detroit scored three runs on Monroe's leadoff home run, Shelton's sacrifice fly and Ordonez's RBI single.
But the Royals came back with six runs in the eighth, including Stairs' grand slam off Franklyn German. It was Stairs' 10th homer of the season and ninth career grand slam.
"One of those things where you definitely have to give guys credit for getting on base," Stairs said. "To get the ball in the air and get a grand slam is a bonus."
DeJesus singled in a run in the inning and Mike Sweeney walked with the bases loaded.
Detroit scored four in the eighth on an error, and RBI singles by Brandon Inge, Shelton and Ordonez.
Stairs, who matched his career high with the six RBI, put Kansas City up 2-0 in the first with a two-out, two-run homer.
Shelton led off the sixth with his eighth homer.
Kansas City reinstated RHP Ambiorix Burgos from the 15-day disabled list and designated RHP Ryan Jensen for assignment. The Royals also reinstated RHP Kyle Snyder from the 15-day DL and optioned him to Triple-A Omaha. ... Detroit placed closer Troy Percival on the 15-day disabled list with a torn right forearm muscle. He was on the DL from May 8-June 4 with the same injury. ... Tigers 2B Placido Polanco was out because of a strained left hamstring tendon. He is day-to-day.