Tommy Milone tossed six strong innings to lead the Oakland Athletics to a 4-2 win over the Seattle Mariners and complete a three-game sweep.

Milone (12-10) allowed two runs on eight hits and struck out 10 without issuing a walk

Jonny Gomes cracked a towering three-run homer and Josh Donaldson added a solo shot for the A's, who have won 12 of their last 15.

"Even when we're bogged down for a few innings, all of a sudden, one pitch and it's a run on the board for us," Oakland manager Bob Melvin said. "Donaldson's home run was big. Certainly, Jonny, after having some struggles against Vargas, to put together that kind of at bat and give us three runs right there, those are obviously the two biggest bats of the game."

Jason Vargas (14-10) gave up three runs on four hits and fanned six over seven innings to absorb the loss.

Kyle Seager homered and Michael Saunders added an RBI triple for the Mariners, who have dropped three straight.

"We're getting our hits, but we're not doing any damage with it," Mariners manager Eric Wedge said. "Whether it be stringing hits together or extra-base hits."

Gomes broke a scoreless tie in the fifth inning with his three-run homer. Adam Rosales and Coco Crisp hit back-to-back, two-out singles before Gomes clobbered his 16th homer of the season into the left-field seats.

"When I get runners in scoring position, I've been doing a good job of just locking it in," Gomes said. "I was going to take the first two pitches to see if he was going to come at me or run away from me and I was able to jump on that first fastball."

The Mariners countered with a run in the home half after Saunders tripled to score Alex Liddi, who opened the frame with a single.

Seager's homer in the sixth pulled the Mariners within 3-2, but Donaldson added a solo homer in the ninth to cap the scoring.

Grant Balfour allowed a double to John Jaso in the ninth, then retired the final three batters of the inning to pick up his 16th save.

Game Notes

Milone matched a career-high with 10 strikeouts. He struck out 10 on July 20 against the Yankees ... Oakland has won nine straight on the road ... The Mariners have been swept twice in their past five series.