Kansas City took the lead for good in the fourth and went on to win for the 13th time in 15 games.
Minnesota held a one-run lead heading into the fourth, but Gordon hit a solo homer in that inning to tie it and Alcides Escobar added a run-scoring single later in the frame to put the Royals in front.
Lorenzo Cain contributed an RBI single in the fifth and Gordon doubled home another run in the seventh.
Kansas City starter Danny Duffy made his first appearance in more than a season after undergoing elbow surgery and he was taken out after 93 pitches in just 3 2/3 innings. He struck out seven, but gave up two runs on six hits.
Louis Coleman (2-0) was the first of five Kansas City relievers and he was credited with the win with 1 2/3 innings of work. Greg Holland finished up by striking out two in the ninth for his 30th save.
The loss went to Samuel Deduno (7-5), who allowed four runs on 12 hits in 5 2/3.