The Cardinals reached the .500 mark (56-56) for the first time since they were 26-26. They moved within 3 1/2 games of the National League Central lead. The Royals dropped three games behind the American League Central-leading Indians, and fell into a tie with Tampa Bay for the second AL Wild Card spot.
Royals right-hander Ian Kennedy was fine until a six-run fourth did him in, an inning that was aided by two errors and two walks. He finished with six innings pitched, giving up seven runs (six earned) while walking four and striking out five.
"He had a bad inning," Royals manager Ned Yost said. "That's what it was. Rest of the game he was actually pretty good."
Added Kennedy, "I feel like it's a funk. It just stinks when you have the last two outings I've had."
Mike Moustakas hit his 32nd home run for the Royals. He is now just four homers away from tying Steve Balboni for the club record in a single season, set in 1985. Brandon Moss and Eric Hosmer also homered.
MOMENTS THAT MATTERED Costly boot: The Cardinals were threatening for a big inning in a 1-1 game in the fourth, loading the bases on a single by Jose Martinez, a double by Yadier Molina and a walk to Dexter Fowler. Wong then hit a hard three-hopper to shortstop Alcides Escobar, a sure double-play ball, but Escobar booted it and all runners were safe as a run scored. Kennedy struck out Randal Grichuk, which would have been the third out. Kennedy then walked Greg Garcia, forcing in another run, and a throwing error on a pickoff attempt by Drew Butera brought home one more. Carpenter then ripped a three-run home run to complete the six-run inning.
"It's a play I can make," Escobar said. "I didn't really get my feet set and I tried to stretch for it. I didn't get it." More >
Martinez ends a threat: The Royals, down 7-1 in the fourth, started to make some noise with one out when Hosmer belted his 18th home run to left. Melky Cabrera followed with a double and Moustakas reached on an error. But Martinez struck out Moss and got Escobar to tap back to the mound.
"I had a lot more confidence in my control and command today, and that helped me get through the eight innings," Martinez said through a translator.
WHAT'S NEXT Cardinals: Right-hander Michael Wacha (8-4, 3.66 ERA) will start for the Cardinals in the road trip finale at 7:15 p.m. CT on Tuesday at Kauffman Stadium. Wacha worked only four innings in his last start at Milwaukee, allowing one run on five hits while getting a no-decision. Wacha is 4-5 with a 3.42 ERA in 13 career Interleague starts.
Royals: Left-hander Jason Vargas (13-5, 3.10) will take the mound against the Cardinals on Tuesday night before the I-70 Series shifts to Busch Stadium. Vargas gave up three runs over five innings in his last start against the Orioles in a 6-0 loss at Camden Yards. Vargas hasn't faced the Cardinals since 2014.