St. Louis tied 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 404 feet for his third career slam.
Lorenzo Cain had four hits for the Royals, who lost all four games in the four-game, home-and-home set.