ANAHEIM, Calif. -- Since Bobby Abreu moved into the leadoff spot, the Los Angeles Angels are on the upswing.
"It's worked so far," he said. "I've been hitting the ball good all year, I haven't been getting any luck. It's been a tough year for me."
The Angels hung on to win for only the third time in their past seven games after blowing most of a 5-0 lead. They got back to .500 and moved within 8½ games of AL West-leading Texas.
"We've had a sense of urgency from day one," manager Mike Scioscia said. "We know we need to play more consistent baseball, get momentum going and it'll show up in the wins column. Hopefully, we'll keep this going."
Ervin Santana (11-8) allowed three runs and six hits in 6 1/3 innings. The right-hander struck out three and walked one. He was coming off a 9-7 loss at Baltimore last week in which he allowed a career-high nine runs on a season-high 12 hits in 3 2/3 innings.
"Not good," he said of his latest outing. "I don't have my best stuff. I battled."
Brian Fuentes retired pinch-hitter Brayan Pena on a fly ball with the tying runs in scoring position in the ninth to earn his 22nd save in 26 chances.
Sean O'Sullivan (0-3) gave up six runs and 10 hits in 6 1/3 innings in his fourth start for the Royals since being traded by the Angels on July 22. The right-hander struck out a career-high six and walked one as the Royals lost for the third time in four games.
"At first, I was a little shocked to get traded. I didn't even know I was in trade rumors," he said. "I definitely felt like I had a future here, but I'm happy to be where I'm at, and I'll take it from here. It was different to see those guys across the field in the first inning, but after that, it's just another baseball game."
Batting in the leadoff position for the fourth consecutive game, Abreu continued to live up to his reputation as a hot hitter in August, when his career average is .315. He has 22 RBI in his past 24 games. He fell a triple short of hitting for the cycle.
"We need Bobby's production, his presence and what he brings," Scioscia said. "It's good to see him get some hits to fall. Between Bobby and Maicer [Izturis], I don't know who's hitting harder outs this season."
The Angels led 1-0 on Hideki Matsui's RBI groundout in the first. Abreu's two-run double with two outs in the second made it 3-0.
He followed in the fourth with his 13th home run, a two-run shot over the wall in right field for a 5-0 lead. Abreu said he was going for a triple in his final two at-bats, but he struck out and flied out to left.
The Angels' sixth run came on a balk by Kanekoa Texeira in the seventh.
Yuniesky Betancourt hit a home run in the fifth for the Royals' first run in his first game back since missing the team's series at Seattle for the birth of his daughter on Saturday.
They added two more in the seventh when Wilson Betemit had an RBI double off Santana before Betancourt's RBI single off reliever Kevin Jepsen made it 5-3.
The Royals have been outscored 29-15 on their current trip. ... Angels RF Torii Hunter served the second game of his four-game suspension after being ejected at Detroit last Friday. ... Angels 1B Howie Kendrick extended his hitting streak to 11 games. ... Royals 1B Billy Butler singled in the first, giving him at least one hit in 88 consecutive series, the third-longest streak in club history, according to STATS LLC.