Updated

Allen Craig hit a homer and knocked in three runs, Adam Wainwright tossed seven solid innings and the St. Louis Cardinals handled the Kansas City Royals, 8-2, in the middle installment of a three-game series.

Matt Holliday went 4-for-5 with two RBI and two runs scored for the Cardinals, who won 11-4 in the opener of this set on Friday. Jon Jay, Carlos Beltran and Rafael Furcal had an RBI apiece.

Wainwright (6-7) gave up two runs on six hits to pick up the win. He struck out four and walked one.

"That's the key thing of pitching with the lineup like we have is just making sure you go deep into the game," Wainwright said. "Give your offense a chance to score a bunch of runs. I feel like our team is very talented."

Alex Gordon and Yuniesky Betancourt both knocked in a run for the Royals, who have lost two in a row after winning their previous two games.

Luis Mendoza (2-4) allowed four runs on seven hits over 4 1/3 innings. He has not won since May 13.

St. Louis got on the board in the third. With two outs, Furcal walked and Jay singled. Holliday followed with an RBI single up the middle.

The Cardinals tacked on three more runs in the fifth. With one out, Daniel Descalso, Furcal, Jay and Holliday hit four straight singles to plate a pair of runs. Holliday's base hit was a sharp grounder that deflected off third baseman Mike Moustakas' glove. Kelvin Herrera took over for Mendoza and immediately gave up an RBI single to Beltran.

"The whole game I just tried to pitch to contact to stay in the game long enough," Mendoza said. "In the fifth inning, the ball just found the holes. I just tried to keep doing the same thing I've been doing."

Meanwhile, Wainwright was on cruise control after allowing a leadoff bunt single to Gordon in the first. He went on to retire eight straight batters before giving up a leadoff walk to Gordon in the fourth.

Kansas City's second hit of the game came in the fifth. Alcides Escobar hit a two-out single to left, but Jarrod Dyson went down swinging.

Furcal's RBI single in the sixth made it a 5-0 game.

The Royals finally got to Wainwright in the bottom half of the frame. Humberto Quintero led off with a single and came around to score on Gordon's triple, which Jay misplayed in center. Betancourt's RBI groundout cut the gap to 5-2.

Craig's two-run homer off Greg Holland in the seventh made it a 7-2 contest.

Craig added an RBI single in the ninth to account for the final margin.

Game Notes

The Cardinals have won 15 of the last 22 encounters in the I-70 Series... Wainwright improved to 3-1 in eight games (five starts) all-time against Kansas City...The Royals purchased the contract of pitcher Francisley Bueno from Triple-A Omaha and designated pitcher Roman Colon for assignment. Bueno gave up one run on two hits in an inning of relief of Saturday.