Carlos Beltran knocked in four runs and scored twice as the Cardinals crushed the Royals, 11-4. David Freese and Tyler Greene each drove in a pair of runs for St. Louis, which has won two of its last three. Joe Kelly gave up three runs in six innings for his first career win. Salvador Perez lifted a two-run home run in his first game of the season for Kansas City, which saw a two-game win streak come to an end. Vin Mazzaro allowed seven runs in an inning and a third for the setback.