ST. LOUIS – Dexter Fowler isn't going to share the advice he received from hitting coach John Mabry before his seventh-inning grand slam on Thursday night.
"We bounced a few ideas off one another," Fowler said. "It was a healthy conversation. I'll keep it to myself."
The mysterious pearls of wisdom helped the St. Louis outfielder cap off a career-high five-RBI night as the Cardinals beat the Kansas City Royals 8-6.
Fowler helped St. Louis tie a season-high with its sixth straight win.
Kansas City has lost four in a row and six of seven.
St. Louis climbed within one game of the first-place Chicago Cubs in the NL Central.
Fowler broke a 3-3 tie in the seventh inning with his 15th homer of the season. He ripped the first pitch from Neftali Feliz for his third career slam.
"Just looking for something to hit, something to drive," Fowler said.
Lorenzo Cain had four hits for the Royals, who lost all four games in the four-game, home-and-home set.
Fowler ripped a run-scoring double to trigger a three-run outburst in the sixth inning that helped erase a 3-0 deficit.
"It's fun, anyone in this lineup can hurt you," Fowler said. "That's how you draw it up."
Fowler's grand slam came at the perfect time.
"We were having trouble generating much of anything," St. Louis manager Mike Matheny said. "We were looking for something - and that was something."
Trevor Rosenthal recorded four outs to pick up his 10th save in 12 opportunities.
Pinch-hitter Brandon Moss brought the Royals within 7-5 with a two-run, bases-loaded double in the eighth that came within a foot of clearing the wall. Whit Merrifield followed with a sacrifice fly. But Rosenthal got Cain to fly out with the tying run on third.
St. Louis has scored 54 runs during the six-game streak.
Tyler Lyons (1-0) picked up the win in relief of Lance Lynn, who surrendered two earned runs in six innings.
"I gave up a couple more runs than I'd like, but the offense picked me up," Lynn said.
Mike Minor (5-4) took the loss.
Melky Cabrera gave the Royals a 3-0 lead with a two-run triple in the fifth.
"We've been swinging the bats pretty well," Royals manager Ned Yost said. "Now, we need to get our bullpen on track. It's kind of a bullpen slump."
Kansas City starter Jason Hammel gave up two earned runs and three hits over five-plus innings. He has allowed three earned runs or less in each of his last seven starts.
"Long at-bats, long innings, the pitch count kind of got up there," Hammel said. "Overall, I felt it was a pretty good night."
Cain tied a career high with his four hits. He has 15 hits in his last 29 plate appearances.
"I'm just doing what I can to get on base with these guys behind me," Cain said. "That's my mindset."
Grand slam up
The Cardinals recorded grand slams in back-to-back games for the first time since Aug. 31-Sept. 1, 2011. Yadier Molina hit a slam in Wednesday's 8-5 win.
Jake Westbrook and Albert Pujols did the trick in 2011.
Kansas City INF Alcides Escobar made his 285th consecutive start on Thursday. It is the longest streak by a shortstop since Baltimore's Cal Ripken Jr. started a record 2,216 consecutive games from 1982-1996.
Royals: RHP Trevor Cahill was placed on the 10-day disabled list with right shoulder soreness. RHP Kevin McCarthy has been called up from Triple-A Omaha. McCarthy is 1-0 with a 2.14 ERA in 16 appearances over two stints with Kansas City this season.
Royals: LHP Danny Duffy (7-7, 3.48) will face RHP Reynaldo Lopez (0-0, 0.00) in the first of a three-game series against the White Sox on Friday in Chicago. Duffy is 0-2 with an 11.17 ERA in two starts against Chicago this season.
Cardinals: RHP Adam Wainwright (11-5, 5.00) takes on RHP Mike Foltynewicz (10-6, 3.94) in the opener of a three-game set against Atlanta in St. Louis on Friday.