Porcello (6-11) retired the first 12 batters he faced before Billy Butler singled leading off the fifth inning. Porcello then retired the next three batters. He walked one and struck out four.
"He changed the planes. He threw strikes. He was good. He got the ball on the ground," Leyland said. "Was he great? No. But he was good."
Porcello said it wasn't a big deal when his shot at a no-hitter was broken up.
"It's only the fifth inning, still a long ways to go for that," Porcello said. "I wasn't really disappointed, just kind of keep pitching and keep them off the board."
Kansas City second baseman Chris Getz was impressed with the outing.
"He wasn't giving us much, just had good command," Getz said.
Porcello has struggled this season -- his ERA is 5.43 and he was sent to the minors for a short time -- after going 14-9 with a 3.96 ERA in 2009 as a rookie.
"It's good to see him getting back to his old self and what he's capable of," Detroit third baseman Brandon Inge said. "We need him bad."
Inge explained why Porcello was successful.
"Getting strike one," Inge said. "He get so much movement, if he gets strike one, he can be so good."
Porcello explained his effectiveness.
"I think we [he and catcher Alex Avila] had a good combination of fastballs and sliders to keep them off-balance," he said. "For the most part, I was able to throw both of those for strikes."
Kila Ka'aihue homered for Kansas City, which was held to three hits.
Royals starter Kyle Davies (6-8) gave up seven runs on 12 hits in 4 2/3 innings, walking three and striking out five.
The Tigers made it 3-0 with two outs in the fourth on back-to-back RBI doubles by Brennan Boesch and Avila.
Detroit then broke it open with four runs in the fifth. Raburn led off with his eighth home run, Jackson had a two-out RBI double and Will Rhymes followed with a two-run double to chase Davies.
The Tigers added two more in the sixth on Inge's sacrifice fly and Boesch's fielder's choice grounder.
Kai'aihue's first home run came with two out in the ninth.
Earlier Tuesday, the Tigers learned that Johnny Damon will remain with the team after deciding not to accept a trade to the Boston Red Sox, who claimed him off waivers. Damon would have had to waive his no-trade clause to be sent to Boston.
Damon got a huge ovation from Tiger fans when he came to the plate for his first at-bat, in the first inning.
"It was awesome," Damon said. "They've treated me with great respect all year."
Detroit outfielder Magglio Ordonez is scheduled to undergo season-ending right ankle surgery Wednesday. Ordonez, 36, has been sidelined since July 25. .. Kansas City right-hander Luke Hochevar, on the disabled list because of a right elbow sprain, pitched a simulated game before Tuesday night's contest. Manager Ned Yost said Hochevar had good stuff and his arm felt fine. ... Detroit scored in the first inning for the sixth consecutive game. That's the longest such streak for the team since the Tigers scored in the first seven times from May 14-22, 1984, according to Stats LLC. ... Inge got his 1,000th career hit.