The Angels led 3-0 going to the bottom of the ninth before Seattle scored three times with two outs to force extra innings.
"It was a well played game in all facets," Angels interim manager Phil Nevin said. "We swung the bats well, didn't punch a bunch across, but got the important ones when needed."
Max Stassi hit a two-run homer in the top of the ninth inning to give the Angels a 3-0 lead that proved critical when Seattle rallied for three runs in the bottom of the inning.
"Really impressed with those big hits late in the game like that when you haven't done much offensively. These guys stepped up," Seattle manager Scott Servais said.
Seattle's three-run rally in the ninth started when Jesse Winker walked with one-out against Jesse Chavez (2-1). Pinch-hitter Jake Lamb singled, and with two outs, Adam Frazier doubled to score Winker.
Ty France dribbled a single into center field to score Lamb and Frazier and pulled the Mariners even at 3-3. Seattle had three hits through the first eight innings, then strung together three in the ninth.
"He's a veteran guy. He's done this before. He's going to pitch some big innings late. He got a groundball there, it just got through," Nevin said of using Chavez in the ninth.
It was the first matchup between the teams since their wild brawl on June 26 that resulted in multiple suspensions and a couple of injuries. Both Servais and Nevin said pregame the incident was in the past.
The Mariners' rally ruined the night for Angels starter Patrick Sandoval, who was in line for his first victory since May 22. Sandoval threw 5 1/3 shutout innings relying heavily on offspeed pitches, and Aaron Loup and Jose Quijada kept the shutout going into the ninth.
"I wanted to go in with my best pitches and play the odds with the best stuff I got," Sandoval said. "So, slider, changeup, is primarily my best two pitches so I'm going to throw them as much as I can."
Pitching was the story of the night until the ninth inning for both sides. Sandoval stymied the Mariners into the sixth, while Seattle starter Robbie Ray was terrific for seven innings with 10 strikeouts.
Ray was otherwise dominant after getting roughed up in his previous two starts, both against Houston. Ray scattered five hits and had his sixth start this season with at least 10 strikeouts.
"I think for me, more than just getting back on track, I feel like I've kind of found something with my delivery over the last week, just really getting into my lower half, and really feeling my drive down the mound," Ray said.
Former Angels IF David MacKinnon was claimed off waivers today by Oakland. MacKinnon had been designated for assignment on Tuesday.
Seattle added Lamb to the roster and designated for assignment OF Travis Jankowski. Lamb was acquired from the Los Angeles Dodgers ahead of the trade deadline and now gets the chance to play for his hometown team.
"I feel like I've gotten chills the past two days over and over and over," Lamb said.
Angels: IF David Fletcher was out of the lineup after getting hit in the foot by a pitch in Thursday's game against Oakland. He's expected back in the lineup on Saturday.
Mariners: OF Julio Rodriguez (wrist) is expected to pick up his baseball activity this weekend and should not need to go out on a rehab assignment when his stint on the injured list ends. ... IF/OF Dylan Moore (back spasms) is quickly improving and could be ready when his time on the IL ends. ... RHP Diego Castillo (shoulder) threw a bullpen on Friday. ... LHP Matthew Boyd (elbow), acquired at the trade deadline, will likely throw a live batting practice early next week before going out on a rehab assignment.
Angels: The Angels will start RHP Jaime Barria (1-1, 2.55) in the first game of the doubleheader.
Mariners: RHP George Kirby (2-3, 3.56) makes his 15th start of the season. Kirby has been under pitch limits in his last two starts coming out of the All-Star break. Kirby allowed two runs struck out seven in four innings in his last start against Houston.