The Twins spoiled Felix Hernandez's shutout bid with a pinch-hit RBI by Trevor Plouffe with one out in the ninth that tied the score 1-1. But they only had two other base runners -- both on walks -- until the 13th.
Aaron Hicks opened the inning with a single off Yoervis Medina (3-3) and Colabello, who broke in the majors this year at the age of 29, launched the next pitch about four rows deep into the stands in right.
Kendrys Morales led off the Mariners' 13th with a home run and Kyle Seager singled off Minnesota reliever Glen Perkins to keep Seattle's hopes going.
But Justin Smoak grounded into a double play -- the Twins lead the majors with 120 this season -- and Dustin Ackley grounded out to end the game. It was the 25th save this year for Perkins.
Minnesota reliever Brian Duensing (3-1) got the win with two innings of three-hit relief.
Scott Diamond started the game for the Twins and allowed one run on five hits in 6 2/3 innings. Three of those hits came in the fifth inning, with Nick Franklin's two-out single giving Seattle a 1-0 lead.
Hernandez went nine innings, surrendering only the ninth-inning run. He also allowed five hits -- two in the ninth. He struck out 11, giving him 158 on the season, third most in the majors.