Updated

Matt Holliday homered among four hits and drove in a season-high five runs in a wild game that ended with the St. Louis Cardinals beating the Kansas City Royals, 10-7.

Yadier Molina added a two-run homer and drove in four for the Cardinals, who have won three of four and blew a 6-1 lead in this one.

After St. Louis had a triple play overturned in the first inning, it scored six consecutive runs to take a five-run lead after two innings. However, Kansas City scored the game's next six runs to grab the lead in the top of the seventh.

Following the Royals' three-run seventh, St. Louis scored three runs in the home half, aided by Holliday's game-tying single and Molina's eventual game- winning two-run single with two outs in the inning.

The rally made a winner of Mitchell Boggs (1-1), who threw 1 1/3 innings of scoreless relief, and a loser of Tim Collins (4-1).

"In those middle innings we had a tough time scoring, but we scored early and scored late," Holliday said.

Mike Moustakas homered, had three hits and tied a career-high with four RBI for the Royals, who had won their previous four games.

Following Moustakas' shot in the fourth, he drove in another run in the fifth via groundout to bring Kansas City to within 6-3. The Royals kept chipping away in each inning, scoring another in the sixth when Jarrod Dyson walked, stole second and scored on an Alex Gordon single.

After scoring single runs in three straight innings, the Royals went ahead with three runs in the seventh.

Eric Hosmer drew a leadoff walk and moved to second on a Jeff Francoeur single, prompting St. Louis to bring in Mark Rzepczynski from the bullpen. The move failed to pay off, as Moustakas greeted the new reliever with an RBI single to right to make it a one-run game.

Two batters later, Alcides Escobar plated Francoeur and the go-ahead run in Moustakas with a single, putting Kansas City ahead, 7-6, for the first time since the opening inning.

The Cardinals came right back in the home half by putting two of their first three hitters on. When the Royals put in Greg Holland to get out of the jam, Holliday tied the game with an RBI single, and Molina put St. Louis ahead for good with a two-run single.

Kansas City had a runner at third with two outs in the eighth, but Francoeur flied out to end the threat. After Holliday doubled home an extra run in the bottom of the eighth, Jason Motte pitched around a two-out single in the ninth to earn his 14th save.

"I was really proud of our offense today the way thay they just stayed after it," Kansas City manager Ned Yost said. "Battled back, got the lead and then from the seventh inning on, we really struggled to command the ball,"

The opening run of the game by Kansas City in the first came under extreme controversy that saw Cardinals manager Mike Matheny ejected.

With runners on first and second and nobody out, Hosmer hit a soft line drive toward pitcher Joe Kelly. Kelly appeared to make the catch, and home plate umpire Kerwin Danley appeared to signal for an out. Kelly threw the ball to first for the second out, and Allen Craig tossed to second for an apparent triple play.

After the Cardinals departed the field, the umpires conferred and ruled Kelly had not made the catch. They said Hosmer was out at first, but the runners on base advanced to second and third, respectively. Following a lengthy argument from Matheny, who was ejected, the Cardinals re-took the field and resumed the first inning with one out.

Moustakas followed by putting the Royals ahead with a two-out RBI single.

St. Louis came right back to take a large early lead.

Holliday and Molina both hit two-run homers to highlight a four-run first, and Carlos Beltran and Holliday had run-scoring hits in the second to make it 6-1 and chase Kansas City starter Bruce Chen, who yielded six earned runs in only 1 2/3 innings.

Game Notes

Beltran finished with three hits...Kelly allowed three runs -- two earned -- on seven hits in 4 1/3 innings...This marked Chen's shortest start since lasting 1 1/3 innings for Baltimore on July 4, 2005...Gordon had three hits for the Royals.