The Twins missed their chance in the ninth, then watched the Seattle Mariners turn theirs into the winning run.

Minnesota was 2 for 12 with runners in scoring position, and Justin Morneau's double-pump of a ninth-inning bunt helped lead to their fourth consecutive loss, 3-2 to the Seattle Mariners on Saturday night.

Seattle outfielder 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).

Morneau charged Ryan's bunt, then hesitated prior to the throw, which Ryan beat.

Dustin Ackley walked to load the bases and set up pinch-hitter John Jaso's fly ball to right off Casey Fien to score a tagging Saunders. It was Jaso's second walk-off hit this season.

"We kind of shot ourselves in the foot more than anything else," Minnesota manager Ron Gardenhire said.

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. The Twins left 11 runners on base.

"That will not win you very many games," Gardenhire said.

Minnesota pushed into 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 ? 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.

"I feel like that loss falls on that pitch right there," Diamond said. "I thought I had him on that curveball (prior), and I let that get the best of me."

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 ? 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 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.

NOTES: 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. ... Florimon had his first hit for Minnesota.