Albert Pujols started the ninth-inning rally for the Angels with his 592nd career home run, and he added a two-run single later in the inning.
Two walks and a single loaded the bases for the Angels with no outs.
The Mariners brought in closer Edwin Diaz. Danny Espinosa drove in a run with a groundout. Martin Maldonado worked the count full before striking out.
Yunel Escobar bounced a hard drive down the first base line to drive in two more to make the score 9-7.
A wild pitch and a walk to Kole Calhoun put runners on the corners for Mike Trout, who walked. Pujols tied the score with a hit to right-center, setting the stage for Cliff Pennington to be the hero, and he didn't disappoint Angels fans.
Pennington's long single to right scored Trout with the game-winner, and the rally was complete.
Andrew Bailey (2-0) picked up the unlikely win with one perfect inning of relief. Diaz (0-1) gave up three hits, three walks and three runs in two-thirds of an inning.
Sunday's rally was only the seventh time in team history the Angels came back after trailing by seven runs.
Before the Angels rallied, Sunday was the Robinson Cano show at Angel Stadium.
Hitting a paltry .208 without an RBI in Seattle's first six games, Cano came alive on a warm southern California afternoon and drove in five runs.
Cano went 2-for-5 with a three-run homer and a bases-loaded double while raising his batting average to .241.
Mariners starter Hisashi Iwukama gave up two hits and one run and struck out two in six innings.
Angels starter Matt Shoemaker yielded seven runs (six earned) in 4 1/3 innings.
Shoemaker was making his first start at Angel Stadium since Aug. 29. His 2016 season was cut short Sept. 4 when Seattle's Kyle Seager hit a hard liner up the middle, hitting Shoemaker flush on the right side of his head.
Shoemaker was diagnosed with a small skull fracture and hematoma and underwent surgery.
NOTES: The Mariners return to Safeco Field on Monday for their first homestand of the season. Seattle LHP James Paxton and Houston RHP Charlie Morton will square off in a rematch of the third game of the opening series last week at Houston. The Astros won that game 5-3 in 13 innings. ... UT Taylor Motter got his first start of the season for the Mariners as manager Scott Servais inserted him into left field and the ninth spot in the batting order. He went 0-for-3 and scored a run.