Trailing 3-1 in the sixth, the Royals scored four times to grab control of the contest.
Billy Butler smacked an RBI double and came home to score the tying run on a Perez sacrifice fly, and Moustakas followed by tomahawking a pitch down the right field line for a Kansas City lead.
Felipe Paulino (4-6) earned the victory with three runs on six hits over six frames, walking a pair and fanning nine.
Minnesota's Kevin Slowey (0-8) was tagged for five runs on 10 hits in a 5 2/3-inning performance.
Michael Cuddyer clubbed a two-run homer for the Twins, who fell to 61-99 with their 17th loss in 20 games.