KANSAS CITY, Mo. -- Mark Teahen wasn't counting days or at-bats, but he was aware he had not homered in a long time.
Teahen, who led the Royals with 18 home runs in 2006, hit his sixth home run in the first inning, ending a drought of 250 at-bats without a homer. Teahen's previous home run was May 29 against Baltimore.
"It feels nice to get out of the way," Teahen said. "I try not to think about it, but it had been too long, so it's nice to get on the board. I wasn't counting at-bats or anything, but I knew it had been a long time."
Said Royals manager Buddy Bell, "Maybe this will get him on a little roll. I hope he doesn't start swinging for the fences now."
"Well, I'm going to," Teahen said and laughed. "No. I know my approach. I'm a line drive hitter and home runs happen when they happen. As long as I stay within my approach, they'll happen more often than they have been."
Teahen hit .407 (11-for-27) during the seven-game homestand.
"I feel like the last couple of weeks I'm getting back to hitting my pitch," Teahen said. "I've been driving the ball a little bit better as a result of that."
The Royals took advantage of fielding errors by Aaron Hill and Lyle Overbay in the third to score two unearned runs and grab a 3-2 lead. Hill's error on Tony Pena Jr.'s grounder to second started the inning. After David DeJesus walked, Pena was caught stealing, but Esteban German followed by singling DeJesus to third. Teahen then hit a one-hopper that Overbay couldn't field, allowing DeJesus to score. German scored on Billy Butler's groundout.
Hector Luna couldn't handle Pena's grounder to third to start the fifth. DeJesus was then hit by a pitch for the 15th time. After German bunted into a fielder's choice, Butler's single scored DeJesus.
"Gload's hit was big, it gave us separation," Bell said.
Left-hander Odalis Perez, who had lost his previous two starts and was 2-4 in his past nine, picked up the win, allowing two runs and eight hits with one walk and three strikes in five innings before being replaced by Joel Peralta. It was the 14th time in 25 starts that Perez has gone fewer than six innings.
Perez (7-11) worked out of a bases-loaded jam in the fifth by striking out Frank Thomas to end the inning.
"If you leave a ball over the plate, he's going to get a hit," Perez said. "He's one of the power hitters in the game. It was a good pitch, down and away."
Jesse Litsch (4-5) allowed five runs -- two earned -- in 6 2/3 innings, giving up six hits, while walking two and striking out two, to take the loss.
"Unfortunately things happen and I have to deal with them," Litsch said. "I can't control the errors. My slider got me out of some jams and my changeup got me out of a bases-loaded jam."
Alex Gordon grounded into a double play to end the fifth with the bases full.
Four Kansas City relievers -- Peralta, Jimmy Gobble, Zack Greinke and Joakim Soria -- held the Blue Jays to one hit and no runs over the final four innings. The Kansas City bullpen has a 0.51 ERA in the past five games.
"We had Perez on the ropes a couple of times, but couldn't get him," Blue Jays manager John Gibbons said. "This time of the year a split (of the four-game series) doesn't do you any good where we're sitting."
- 3B Troy Glaus was scratched from the Toronto lineup with a sore left foot.
- Butler made his second big league start at first base. He had been the Royals' DH for 40 games and started five games in left.
- Rios doubled and singled for his 44th multihit game.
- The Blue Jays have doubled in 20 consecutive games, the longest active streak in the American League. The club record is 31 games in 2004.