ST. LOUIS -- Just when it looked as if Kansas City might snap its seven-game losing streak, St. Louis showed why it has the major league's best record, and the Royals showed why they're in last place in their division.
Daniel Descalso's two-out, two-run single in the bottom of the eighth inning capped a four-run rally as the Cardinals registered a 5-3 win Wednesday night at sold-out Busch Stadium.
Randy Choate (1-0) retired the only batter he faced, and Edward Mujica picked up his 17th save -- and fourth in as many games -- with a 1-2-3 ninth on six pitches.
Aaron Crow (0-1) was pounded for five hits and all four eighth-inning runs as Kansas City (21-29) lost for the 18th time in 22 games. St. Louis (35-17) improved to 20-6 in May.
Carlos Beltran lined a leadoff homer to right-center to start the eighth. After Crow fanned Matt Holliday, he yielded consecutive singles to Allen Craig, Yadier Molina and David Freese, with Freese's hit tying the game.
Jon Jay was intentionally walked, and Pete Kozma looked at strike three for the second out. Descalso, pinch-hitting for Choate, bounced the first pitch into center field, plating Molina and Freese.
After St. Louis starter Lance Lynn retired the first nine men he faced on 32 pitches, throwing fastballs on 30 of them, Kansas City touched him for single runs in the fourth and fifth.
Alex Gordon led off the fourth with a single and moved to third when Alcides Escobar slashed a double off the glove of first baseman Craig. Lorenzo Cain's sacrifice fly to right scored Gordon, who slid head-first under Molina's tag at the plate.
The Royals made it 2-0 with an unlikely two-out RBI single from pitcher Luis Mendoza, scoring David Lough. It was the first career hit for Mendoza, and it kept Kansas City from wasting Lough's leadoff triple.
Lough saved Mendoza a run in the Cardinals' fourth when he nailed Craig at the plate as he tried to score from second on Molina's one-hop liner into right.
In the second, Mendoza allowed consecutive singles to Craig and Molina, but worked out of trouble with a double-play ball off Freese's bat and a groundout from Jay.
NOTES: Kansas City C Salvador Perez missed his fourth straight game after the passing of his maternal grandmother on Saturday. He remains on the bereavement list. ... St. Louis RHP Chris Carpenter threw about 25 pitches Wednesday in a side session and said his right arm felt fine afterward. Carpenter has slowed the pace of his rehab a bit, but still hopes to come back later this season from nerve irritation. ... Cardinals RHP Jake Westbrook (right elbow inflammation) is set to throw a bullpen session Thursday. Westbrook canceled a Tuesday visit to Dr. James Andrews after throwing 40 pitches Monday and reporting no pain.