It all comes together for Royals in 9-4 victory over Angels

So this is what it looks like when just about everything clicks for the Royals. They matched a season high in hits. They matched a season high in runs. And they got another solid performance by Zack Greinke.

It all combined for a 9-4 victory over the Los Angeles Angels that enabled the Royals to avoid a three-game sweep Wednesday night at Kauffman Stadium.

David DeJesus and Alex Gordon hit homers against Angels starter Jered Weaver, who lasted just 3 1/3 innings. Weaver, 2-5, has now lost four straight starts to the Royals, including two this season.

Greinke, 4-1, survived a shaky first inning and broke a three-game winless streak. He now has six quality starts in seven outings after yielding three runs and five hits in seven innings.

The Royals, 15-18, finished with 14 hits, including a season-high three from José Guillen, who returned to the lineup after getting a one-day break. Mark Grudzielanek also had three hits. Every starter had at least one.

DeJesus’ three RBIs gave him the club lead at 16, although he has missed 14 of the 33 games.

Greinke gave up one run in 27-pitch first inning before the Royals began battering Weaver. Billy Butler tied the game with an RBI double in the first before DeJesus highlighted a four-run second with a three-run homer.

John Buck pushed the lead to 6-1 with a sacrifice fly in the third before the Royals knocked out Weaver in a three-run fourth inning.

Gordon’s two-run homer in the fourth was his fourth of the season but his first in 75 at-bats dating to April 13 against Twins reliever Juan Rincon.

Greinke carried a 9-1 lead into the seventh before yielding a two-run homer to Mike Napoli. Greinke struck out eight and walked two in a 107-pitch performance. The three earned runs were a season high and raised his ERA to 1.80.

Joel Peralta worked a scoreless eighth inning before Yasuhiko Yabuta allowed Garret Anderson’s leadoff homer in the ninth.

The game concluded the season series between the two clubs at 3-2 in the Angels’ favor. The two teams split two games last month in Anaheim, Calif.

The Royals scored nine runs twice last week against the Rangers and also had 14 hits in two previous games.

Weaver gave up eight runs and 10 hits as his ERA jumped to 5.59. Chris Bootcheck gave up the final run in the fourth inning before the Royals put their offense into neutral.

Greinke appeared headed for a rough night when he opened the game with a five-pitch walk to Gary Matthews, who went to second on Erick Aybar’s grounder to first. Vladimir Guerrero then blooped an RBI single into short right field just beyond a diving attempt by second baseman Mike Grudzielanek.

Garret Anderson walked, but just when Greinke seemed to be working himself into a real jam, he trapped Guerrero between second and third on a pickoff move for the second out. Torii Hunter ended the inning with a fly to right.

Greinke was in control thereafter. He even pitched around Anderson’s leadoff triple in the fourth by retiring Torii Hunter on a grounder to third before striking out Napoli and Robb Quinlan.

Related stories from Wichita Eagle