KANSAS CITY, Mo. (AP) -- Armando Galarraga was nearly perfect.
So was Detroit in sweeping three games from the Royals.
Galarraga carried a perfect game into the seventh inning, Miguel Cabrera drove in three runs and the Tigers beat Kansas City 7-1 Wednesday, capping off a series in which they hit .355 and outscored their opponent 33-6.
Galarraga retired the first 18 batters before David DeJesus led off the seventh with a single to right on a full-count pitch. To that point, the 26-year-old rookie right-hander had allowed just two fly balls to the outfield and struck out six.
"I was [upset] a little bit," Galarraga said after DeJesus' hit. "It was a fastball inside. I can make a better pitch at that moment."
DeJesus said he was looking inside.
"I was 2-0 and then he got it to 2-2 and then he just kept coming in and I fouled a couple down the line," DeJesus said, "and then I was able to stay inside and hit it to right."
Galarraga said a chance to pitch a no-hitter never crossed his mind.
"If it was the eighth or ninth, yes, but six innings is too early to think about it," he said. "There's still a lot of outs."
He wound up allowing a run in the seventh on three singles and a walk, but left the bases loaded. Galarraga (8-4) was replaced by Casey Fossum in the eighth, after lowering his ERA to 3.27 while striking out a career-high seven against just one walk.
"He went right after them and made quality pitches," Tigers manager Jim Leyland said. "You really don't trick them up here. The hitters are too good. I was aware, like everybody else, it was a no-hitter, a perfect game. I think he's feeling comfortable. He feels like he belongs here. He was very calm."
The Royals hit .194 in the three-game series.
"Galarraga was very good and we made him look better, because we were lethargic and we didn't have much energy at all offensively," Royals manager Trey Hillman said. "We've seen enough of the Tigers."
Galarraga relied mostly on his sinker and slider.
"He was impressive. I thought he was going to use his sinker quite a bit and all of a sudden his slider started being his No. 1 pitch," Tigers catcher Brandon Inge said. "He started spotting that slider on any count he wanted. That's very dangerous when he can throw it for a strike at any time.
"He kept his composure, didn't care about anything and just went out there and hit the mitt."
Cabrera drove in three runs with a pair of singles, raising his RBI total to 10 for the three-game series and 71 for the season. Magglio Ordonez added three hits and a couple RBIs, while Placido Polanco had three hits and scored twice.
"When Magglio and Cabrera are like that and locked in, they can be RBI-machines," Leyland said. "No question about it, they produce runs."
The Tigers jumped out to a 5-0 lead after three innings off Zack Greinke.
The Royals right-hander gave up five runs on seven hits, while walking two and striking out eight in six innings. Greinke (7-7) is 0-3 in five starts since a June 24 victory over Colorado.
"If I would have had zeros on the board too, I could have admired it," Greinke said of Galarraga's performance. "But when you are struggling, you're just worried so much about what you are doing yourself, instead of worrying about what the other guy's doing."
Ordonez singled home Curtis Granderson with the first run. Polanco scored from third while Ordonez was caught in a run down between first and second for the final out of the inning.
Matt Joyce led off the second with a double, moved to third on a wild pitch and scored on Edgar Renertia's single.
The Tigers made it 5-0 in the third with Cabrera's two-run single, scoring Polanco and Carlos Guillen, and Ordonez and Cabrera had run-producing singles in the seventh off Royals reliever Horacio Ramirez.
The Royals have lost 18 of their past 24 games to the Tigers at Kauffman Stadium since the start of the 2006 season. ... The Tigers are 28-13 in their past 41 games.