Vargas (3-1), who pitched for the Mariners for four seasons (2009-12), struck out six without a walk. He is 3-1 with a 1.59 ERA in four career starts against his former team.
It also was the first road victory for Vargas, who signed a four-year, free-agent deal with the Royals in November.
Salvador Perez, Eric Gordon and Eric Hosmer had three hits each for the Royals while Nori Aoki and Lorenzo Cain had two each.
The Mariners have scored two runs and had 10 hits over the past three games.
The first hit Vargas allowed came in the third, a one-out single by Mike Zunino. Shortstop Alcides Escobar knocked the hard grounder down but it rolled a few feet away. The other hits were Dustin Ackley's line single to center in the fifth and Robinson Cano's ground single to right in the seventh.
The Royals pieced together rallies off Brandon Maurer (1-1). Only one run scored on a hit. The rest scored on an error, a sacrifice fly, a double play and two on fielder's choices.
Aoki opened the game with a single to right followed by Hosmer's single to right, with Aoki sprinting to third. Aoki scored on Billy Butler's bouncer to third baseman Willie Bloomquist, who tried to start a double play but threw wildly to second, pulling Cano off the bag.
Initially, the umpires ruled Hosmer safe on an apparent error but Mariners manager Lloyd McClendon challenged the call. After a review, it was ruled that Cano dragged his left toe across the bag while in possession of the ball. Hosmer was ruled out. Perez bounced into a double play to end the inning.
Hosmer's sacrifice fly in the third put the Royals up 2-0.
Mariners shortstop Brad Miller's throwing error in the fourth allowed two more runs.
Perez opened with a single followed by a clean bunt single by Gordon. Johnny Giavotella then bounced a potential double-play ball to short but Miller's flip to second sailed into right field and Perez scored.
Gordon would later score the second run on Cain's double-play grounder.
Kansas City made it 5-0 in the sixth when Butler scored on Giavotella's fielder's choice.
Cain's one-out single in the eighth scored Perez from second to make it 6-0, ending Maurer's evening. He allowed all six runs - four earned - and did not walk or strike out a batter.
The 14 hits Maurer allowed were just one short of the team record set by Greg Hibbard on May 24, 1994.
The Mariners scored in the eighth off reliever Aaron Crow. Miller drew a one-out walk. Pinch-hitter James Jones then stroked a two-out double into the right-field corner. Miller had stopped at third then trotted home on right-fielder Aoki's throwing error.
NOTES: Mariners LHP James Paxton, who started the season at 2-0 before suffering a strained lat muscle, threw 25 pitches in a bullpen session before the game. RHP Taijuan Walker (right shoulder impingement) will have his first bullpen session Sunday. There is no timetable for either pitcher. Also, RHP Stephen Pryor, coming off shoulder surgery, is back with Triple-A Tacoma. . Kyle Seager was a late scratch for the Mariners because of flu-like symptoms. Bloomquist replaced him. . The Royals pre-game move to promote Giavotella was necessary because of Omar Infante's ailing back. Infante missed Thursday's game and will be rested for the series. Giavotella was hitting .352 for Triple-A Omaha. To make room, the club sent RHP Michael Mariot to Omaha.