ANAHEIM, Calif. -- Orlando Cabrera's short memory came in handy Thursday night.
Cabrera's error, when he missed a throw from first baseman Kendry Morales trying to start a double play, led to Matt Stairs' RBI double in the first inning. But that miscue was long forgotten when the Angels' shortstop singled in Mike Napoli in the 10th.
"I wasn't really even thinking about that," Cabrera said of the error.
Elmer Dessens (3-6) walked Napoli, pinch hitting for Jose Molina, leading off the inning. Adam Kennedy's sacrifice bunt moved Napoli to second, and he went to third on Chone Figgins' groundout.
Dessens gave up one run and two hits -- both singles by Cabrera -- in 2 2/3 innings.
Vladimir Guerrero hit a two-run homer and John Lackey allowed one unearned run in seven innings for the Angels. Lackey gave up four hits, walked one and struck out eight.
"It was a great effort for John," Angels manager Mike Scioscia said, "and it's unfortunate he didn't come away with something to show for it."
Lackey left with a 2-1 lead but the Royals scored their second unearned run in the eighth to tie it. Brendan Donnelly hit David DeJesus with a pitch to lead off the inning. DeJesus moved to second on Mark Grudzielanek's sacrifice bunt and Donnelly walked Doug Mientkiewicz before Francisco Rodriguez came on in relief.
DeJesus took third on a short wild pitch in the dirt by Rodriguez. The right-hander then struck out Reggie Sanders, but catcher Molina threw wildly to second as Mientkiewicz stole his fourth base of the season.
The ball rolled into center field and DeJesus scored. Rodriguez struck out Stairs to end the inning. The blown save was the second in 17 chances for Rodriguez, who struck out four and walked one in 1 2/3 innings.
Lackey has won just once in his last nine starts.
"We won the game," Lackey said. "Do I think I've pitched better than being 4-4 this year? Yes. But we won the game, and that's all that really matters."
Hector Carrasco (2-2) pitched a perfect 10th to get the win.
The Royals' Mike Wood went 6 1/3 innings to match his longest start of the year, holding the Angels to two runs and seven hits, including Guerrero's homer. Wood struck out three and didn't walk a batter.
Guerrero hit his 16th homer, a towering drive to center, on a chest-high fastball out over the plate. Wood said he wanted to throw the fastball to Guerrero to make it more difficult for Figgins, who reached on a leadoff single, to try to steal second after several tosses over to first base.
"The pitch was right down the middle and Guerrero took advantage of it," Wood said. "I'd like to take that one back. I knew I shouldn't have thrown that pitch. It was a bad pitch at a bad time."
Cabrera went 2-for-5, stretching his on-base streak by hit, walk or hit-by-pitch to 45 games, longest in the majors this year.
"I am having pretty good luck. It's a good run for me," Cabrera said.
Los Angeles RHP Bartolo Colon, last year's AL Cy Young Award winner, is expected to start either Sunday or Monday in his return from the DL. Colon has been sidelined since April 16 by tendinitis in his right shoulder. The Angels will have to open a spot in the rotation for him, with the possibilities including sending Jered Weaver (4-0, 1.37 ERA) back to the minors or switching his older brother, Jeff (3-9, 6.15 ERA) to the bullpen. ... Kansas City 2B Grudzielanek hasn't made an error in a stretch of 76 games dating to last Sept. 2 when he was with St. Louis.