SEATTLE -- John Jaso came through and the Mariners won again.
His pinch-hit sacrifice fly in the bottom of the ninth gave the Mariners their fourth consecutive win, 3-2 over the floundering Minnesota Twins on Saturday night.
Michael Saunders led off the ninth with a single to right and Brendan Ryan's bunt single put runners at first and second with none out against Tyler Robertson (1-1).
Dustin Ackley walked to load the bases to set up Jaso's fly ball to right to score Saunders. It was his second walk-off hit this season.
|More on Twins-Mariners|
|More MLB coverage|
"You feel good with him up there in those situations," Seattle manager Eric Wedge said of Jaso.
Mariners closer Tom Wilhelmsen (4-2) got Josh Willingham to fly out to right with the bases loaded in the top of the ninth, preserving the tie in a tight game throughout.
Minnesota took the lead in the seventh after Joe Mauer's grounder scored Pedro Florimon. Matt Carson and Florimon opened the inning with consecutive singles before Seattle starter Jason Vargas handled Jamey Carroll's bunt attempt to get a close out at third base.
Darin Mastroianni singled to load the bases and Mauer grounded to second. Ackley pivoted to throw to second for the second out, but Ryan's throw to first was late in an attempt to turn a very difficult double play. That allowed Florimon to come in from third and end Vargas' outing.
Vargas threw 6 2/3 innings, allowed eight hits and two earned runs. He struck out two and walked one.
"I felt good," Vargas said. "They were able to squeeze some balls in there and they were just kind of able to make me grind in the first inning."
Reliever Josh Kinney replaced Vargas and retired Willingham on a grounder to short to keep Minnesota in front just 2-1 in the seventh.
The lead didn't last long. Justin Smoak hit his 14th homer of the season on the 10th pitch of his at-bat to start the bottom of the seventh against Minnesota starter Scott Diamond to tie the game.
"Still didn't know if it was going to go out or not," Smoak said. "I was 3-2 and he kept throwing me fastballs, and I kept fouling balls off and felt like I was right on them.
"I figured he was going to try to do something with a curveball, changeup or something and got another fastball."
Ackley missed a two-run homer by a few feet four batters later when his drive to right cut just in front of the foul pole. Ackley then singled to close the night for Diamond. He threw 6 2/3 innings, allowed nine hits and two earned runs. He struck out two.
Reliever Alex Burnett hit Trayvon Robinson to load the bases with two outs in the seventh. But, Jesus Montero popped up the first pitch he saw from Burnett.
The Twins got started early against Vargas when Justin Morneau looped a single into left to score Carroll in the first. Carroll led off the first with a single up the middle and moved to second on a wild pitch before getting to third on a fielder's choice.
Vargas walked Willingham, though Willingham came into the game 0 for 14 with seven strikeouts in his career against the left-hander. Morneau followed with his RBI hit.
Consecutive singles from Saunders, Ryan and Ackley tied the game at 1 in the third. Ryan was thrown out by Carson trying to advance from first to third in the inning, helping Diamond get out of it just allowing a run.
Vargas settled in after the first, allowing just two baserunners the next four innings.
Vargas' error and an infield single by Ryan Doumit put two runners on for Minnesota in the sixth with two outs, but Vargas forced a grounder from Trevor Plouffe to end the inning.
Seattle outfielder Franklin Gutierrez started a rehabilitation assignment with Triple-A Tacoma on Saturday. Gutierrez played five innings in the field and went 0 for 2. Gutierrez has been on the disabled list since June 29 because of a concussion.. The Twins and Triple-A affiliate Rochester Red Wings agreed to a two-year player development contract extension through the 2014 season.