Seattle blew a sixth-inning 8-1 lead, with the Angels scoring four in the sixth inning, one in the seventh and three in the ninth to complete the comeback.
Mike Napoli hit a fifth-inning solo homer, Torii Hunter drilled a two-run sixth-inning shot and Bobby Abreu and Vladimir Guerrero had two hits and two RBI apiece, while Chone Figgins had two hits and scored three times for the Angels, who averted a three-game sweep.
The winner was Justin Speier (1-1).
Seattle's Endy Chavez and Guillermo Quiroz had two RBI each. One of two hits for Chavez was a second-inning solo homer and one of Ichiro Suzuki's four hits was a sixth-inning solo home run.
Jose Lopez had three hits and one RBI and Ken Griffey Jr. had one RBI for the Mariners, who had won three in a row.
The losing pitcher was David Aardsma (1-2).
Seattle has won seven of 13 against the Angels this season.