It was the ninth win in 12 games for the Mariners, who increased their slim lead over Detroit for the second AL wild-card spot.
Boston designated hitter David Ortiz had his streak of reaching base four times in four straight games halted, but he did walk and was hit by a pitch before leaving with a bruised left elbow.
Dustin Pedroia had a double and two singles for the Red Sox.
Trailing 3-0 in the fourth, the Mariners chased starter Brandon Workman (1-8) with their big inning. The Mariners rally comes a day after they scored five runs with two outs in the ninth to beat the Red Sox 5-3.
Chris Denorfia had an RBI double, and Chris Taylor and Jesus Sucre added run-scoring singles before Ackley hooked a drive around the right-field foul pole. Workman's wild pitch allowed Denorfia to score the tying run.
Tom Wilhelmsen (2-2) struck out three in 1 1-3 innings of relief after starter Chris Young couldn't make it out of the fourth.
Young gave up three runs on seven hits and five walks in 3 2-3 innings, his shortest start since his second of the season when he lasted just three innings at Miami.
Workman lost his seventh consecutive start, getting tagged for seven runs and 10 hits in 3 1-3 innings.
Boston took a 3-0 lead with single runs in the first three innings.
David Ross had an RBI double for Boston before getting ejected by first base umpire Vic Carapazza.
Mariners: The team hopes CF Michael Saunders (oblique strain) can resume his rehab assignment soon. It was halted Friday for a few days because he had flu-like symptoms.
Red Sox: SS Xander Bogaerts was held out of the lineup after getting hit in the head by Felix Hernandez's pitch Friday night. "Anytime you get hit in the head like he did last night he's got to go through a protocol," manager John Farrell said. "He will today just to see if there's any concussion symptoms." Farrell also said RHP Joe Kelly is in line to make his next start. Kelly left Friday's game after feeling slight discomfort in his shoulder.
RHP Hisashi Iwakuma (12-6, 2.57 ERA) is scheduled to pitch for Seattle in the series finale Sunday. He's been hit hard by the Red Sox in three career starts, giving up 12 runs in 12 2-3 innings.
RHP Allen Webster (3-1, 4.73) gets the ball for Boston. He's given up three or fewer earned runs in four of his five starts this season.
Both dugouts were warned after Boston's Alex Wilson hit Robinson Cano on the backside below the hip with a pitch in the seventh. Ortiz was hit on the left elbow by Charlie Furbush's fastball, and Yoenis Cespedes had to get out of the way of Danny Farquhar's high fastball in the sixth.
The Red Sox announced during the game that they signed Cuban defector Rusney Castillo to a seven-year contract, beginning in 2014. The 27-year-old outfielder hit .324 in 2011 and .332 in 2012, his two best years in Cuba.