One of the biggest was a baseball rarity -- an unassisted double play by an outfielder.
The Mariners threatened in the 15th when one-out singles by Raul Ibanez and Endy Chavez put runners at first and second. Michael Saunders then hit a low liner to left. Jonny Gomes charged in and made a diving catch, then ran all the way to touch second base as Ibanez had no chance to get back.
"I've never had one and I've never seen one," Gomes said with a smile. "So that's why I'm glad I got it on my résumé."
Ibanez was focused on trying to score the go-ahead run.
"I was erring on the side of being aggressive," he said. "I was just going on what I saw and where he was playing. I knew it was going to fade, and it did, but he made a great play."
In the bottom of the inning, Dustin Pedroia drew a leadoff walk and took second on a groundout by David Ortiz. Mike Napoli was walked intentionally and Jarrod Saltalamacchia struck out. Gomes then walked, loading the bases, and Drew hit a liner just inside the right-field line as Pedroia scored the decisive run.
The Red Sox had just one hit in their previous 30 at-bats before Drew's single.
"Finally, we were able to push one across after quite a drought," Boston manager John Farrell said.
Boston moved a half-game ahead of Tampa Bay in the AL East. The Rays lost 7-0 Wednesday night to the Arizona Diamondbacks.
Drew Britton (1-0) pitched two innings for his first major league win.
"I was prepared to go as long as they wanted me to," he said.
"We battled for that whole game," Seattle acting manager Robby Thompson said. "We hit some balls hard and they made some good plays on them, including the one by Gomes. He was aggressive and made a good play on it and fooled Raul a little."
The Red Sox wasted an excellent chance in the 14th when Brandon Snyder led off with a pinch-hit double, Boston's first hit since the seventh, and took third on a sacrifice by Jacoby Ellsbury. But Snyder was thrown out trying to score on Shane Victorino's fly to center fielder Saunders, ending the inning.
The Mariners also threatened in the 11th and 12th but stranded two runners in each inning.
Boston's previous longest game this year lasted 14 innings, a 10-8 win over Tampa Bay on June 10. Five days earlier, Seattle played its longest game, a 7-5 loss to the Chicago White Sox in 16 innings.
Kyle Seager had tied the game at 4 in the eighth with his 17th homer of the year. Pedroia had given the Red Sox a 4-3 lead with a two-run homer in the seventh, his eighth.
The Mariners went ahead 1-0 in the fourth on a run-scoring double by Seager before the Red Sox took the lead with two unearned runs in the fifth.
Brock Holt led off with a double and took third when center fielder Dustin Ackley dropped Ellsbury's low liner for an error. Victorino then grounded to second baseman Nick Franklin, who might have been distracted when Ellsbury ran in front of him.
Franklin bobbled the ball for another error as Holt scored. Pedroia then grounded into a forceout at second base, allowing Ellsbury to score.
The Mariners took a 3-2 lead with two runs in the sixth on a sacrifice fly by Kendry Morales and an RBI single by Ibanez.
Boston starter John Lackey shook off a liner off his left heel by Ackley in the third. John Farrell and a trainer went toward the mound, but Lackey waved them away before they arrived.
Seager went 3-for-6 and hit .396 in July (38-for-96). ... Lackey allowed at least three runs for the third straight game after giving up two or fewer in six consecutive starts. ...Seattle starter Hisashi Iwakuma gave up no earned runs for his second straight outing. ... The Red Sox recalled Holt from Triple-A Pawtucket. He started in place of Jose Iglesias, who went to the Detroit Tigers on Tuesday night in a three-team, seven-player trade that brought RHP Jack Peavy to Boston. Peavy is expected to join the Red Sox on Thursday and pitch during the seven-game homestand that ends Sunday. ... Felix Hernandez (11-4) pitches for Seattle in the final of the three-game series against Ryan Dempster (6-8).
Copyright by STATS LLC and The Associated Press
BOSTON, MA - JULY 31: Hisashi Iwakuma #18 of the Seattle Mariners pitches against the Boston Red Sox during the...
35,059 (94.6% full) - % is based on regular season capacity
75 degrees, partly cloudy
Home Plate - Gary Darling, First Base - David Rackley, Second Base - Jerry Meals, Third Base - Chris Conroy
Mike Napoli has swung and missed on 42.1 percent of the pitches he has faced in July, the second-highest rate in the majors this month. Napoli swung and missed on 32.1 percent of the pitches he faced the first three months of the season.
Hisashi Iwakuma has thrown the most splitters this season, and has held opponents to a .187 batting average on those pitches. The Red Sox have hit .292 against splitters this season, second best in the majors.