Vargas (11-7) allowed just a fourth-inning double during his eight innings, while striking out five and walking three.
He retired the first 11 batters he faced before Billy Butler's 200th career double drove in Lorenzo Cain in the fourth. Vargas had walked Cain, then fell behind 3-0 before Butler drilled a fastball to the gap in left-center.
Kansas City did not get a runner to second base against Vargas after the fourth. He's taken the mound following a Mariners loss in 14 of his 22 starts this season and has a 10-2 record with a 2.78 ERA in those games. He's 4-0 with a 1.46 ERA in five July starts.
Kansas City starter Luis Mendoza (4-7) pitched five innings, allowing nine hits and four earned runs with three walks and a hit batter.
Tom Wilhelmsen pitched the ninth for his 12th save in 14 opportunities.
Consecutive sixth-inning doubles from Miguel Olivo and Carlos Peguero pushed Seattle in front 4-1. After getting ahead of Brendan Ryan 0-2, Mendoza walked Ryan on four consecutive breaking balls in the dirt, one of which was a wild pitch that moved Peguero to third. That ended Mendoza's night and put the Mariners in business with first and third and none out.
But, left-hander Jose Mijares came in to strikeout Dustin Ackley and Michael Saunders, before getting a ground ball from Casper Wells to get out of the jam.
Mendoza found trouble early when the Mariners piled three hits and a hit batter together for two runs in the first. Carp's single up the middle with the bases loaded scored Ackley and John Jaso for a 2-0 lead.
It also continued a trend of the Mariners jumping on teams early. Seattle has scored in the first inning in six of its last seven games.
Carp snapped an 0-for-7 streak with his first hit since his July 24 return from Triple-A Tacoma.
Ackley's hard single to start the game snapped his 0-for-20 streak. He finished the night 2 for 3 with two walks and a run scored.
The two hits were a season-low for Kansas City.
Mendoza recorded three outs on four pitches in the third inning.
NOTES: Mariners starter Hisashi Iwakuma has left the team until Saturday for personal reasons. Iwakuma returned to his native Japan and will not miss a start, according to manager Eric Wedge. . The Mariners have turned a double play in 12 consecutive games coming into Thursday. . Jeff Francoeur picked up an assist after losing a fly ball in the sun in the first when he threw to second to get a fielder's choice out. The mistake actually gave him the MLB lead in assists with 12.