ANAHEIM -- Joe Walsh, the Eagles' longtime guitarist and occasional vocalist, belted out the national anthem before Wednesday's Angels game, but he might as well have been singing his offbeat 1970s chestnut, "Life's Been Good."
That would have been an apropos title to describe the last three weeks for the Angels, who stepped up their offense to historic proportions in a 21-6 dismantling of the Kansas City Royals before 39,657 in Angel Stadium.
Jeff DaVanon became the first Angel to hit for the cycle since Dave Winfield did it over 13 years ago, driving in four runs in the process.
Garret Anderson homered and drove in five runs for the first time this year.
Jose Molina / C
Weight: 220 lbs
Bats: R / Throws: R
Jose Molina, the backup catcher who entered the game in the top of the seventh to replace Darin Erstad, hit his first career grand slam in the bottom of the inning.
Erstad had three hits, two RBIs, and scored four runs.
Vladimir Guerrero hit three straight singles and became the first Angel to reach the 100-RBI mark this year.
Jose Guillen had three more hits and was right behind Guerrero with 99 RBIs.
Eighth-place batter Adam Kennedy continued his hot hitting with two hits and two runs.
Chone Figgins, the No. 9 batter, got two hits and scored three runs.
Leadoff man David Eckstein somehow went 0-for-4 on the night, but he scored two runs, too.
Life's been good, indeed.
"To call it a great offensive night would be kind of an understatement," Angels manager Mike Scioscia said.
Royals manager Tony Pena couldn't seem to overstate it enough.
"Well, I'll tell you what," Pena said. "They have to be the hottest club in baseball right now. It doesn't matter what you throw. ... I think if we bounced the ball up there, they still would have hit it."
The Angels set a home-field record with the 21 runs, the most the Angels have scored in a single game since a 21-2 drubbing of the Cleveland Indians during the Angels' World Series championship season of 2002.
They cranked out a season-high 22 hits, they scored at least two runs in five consecutive innings, with five runs in the third and seventh, six in the fourth and three in the fifth.
Most important, they won their eighth straight game, their 10th in the last 11, and the 16th in their last 20. They improved to 73-54, the first time they've been 19 games over .500 this year.
They also remained in a virtual tie with the Boston Red Sox atop the American League Wild Card standings and stayed within a half-game of the first-place Oakland A's in the AL West race. They solidified their second-place standing in the division, pulling two games ahead of the Texas Rangers.
Their offensive explosion obscured a trying effort from starter Ramon Ortiz, who gave up a leadoff homer to David DeJesus in the first inning and ran into plenty of trouble in the fifth.
With the Angels leading, 11-1, Ortiz gave up six straight solid hits that led to four quick runs. Abraham Nunez capped the inning with a solo homer that cut the Angels' lead to 11-5.
Ortiz, battling to keep a spot in the Angels' rotation and coming off eight innings of shutout ball in a 5-0 win in Yankee Stadium last week, departed after six, having given up six runs on 12 hits. He still got the win, of course.
"Everything was flat," Scioscia said, describing Ortiz's trouble inning. "The ball was up and not (with) a lot of life. The ball was just right in the heart of the plate and those guys teed off on him."
And DaVanon teed off on the Royals.
He doubled in the third inning, tripled in the fourth, singled in the fifth and hit a solo home run in the seventh, becoming the fourth Angel to hit for the cycle, which has been done five times in club history.
"It's a very special night," DaVanon said. "I hope it keeps going."
Doug Miller is a reporter for MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.