For starters, left-hander James Paxton had a perfect game through 5 1/3 innings and had Angels hitters killing worms with a succession of ground-ball outs. And to end it, Edwin Diaz retired all four batters he faced for his 13th save of the season.
In between, the Mariners got a terrific defensive play by center fielder Guillermo Heredia, the sixth home run by Robinson Cano in his last nine games, four hits and two RBIs from Jean Segura, and big outs from relievers Steve Cishek and Mark Rzepczynski between Paxton and Diaz.
"We really had a lot of big plays today," Mariners manager Scott Servais said. "It's a great day when you can look at the game and see how well we played as a team."
Paxton (6-3) allowed two hits and a run in 6 1/3 innings, pitching the way he did in April when he had a 23-inning scoreless streak and didn't allow a run in four of five starts.
"I don't think I had my best, but it was good enough," Paxton said. "I was able to get some ground balls and use my changeup at good times."
Paxton was aware of the perfect game but not thinking about it. "There was a lot of game left at that point," he said.
That was no understatement. Leading 2-0, Paxton tired in the seventh, walking two and giving up a run-scoring single to Yunel Escobar. He exited for Cishek, who got Andrelton Simmons to hit his first pitch for a double-play comebacker to end the threat.
In the eighth, Segura singled and Ben Gamel walked to put two on for Cano, who slugged a slider from reliever Keynan Middleton off the foul pole in right field for his 17th homer of the season.
The Angels rallied against Nick Vincent in bottom of the eighth, greeting him with four straight singles by Martin Maldonado, Luis Valbuena, pinch-hitter Nick Franklin and Ben Revere, making it 5-2 with the bases loaded and no outs.
That's when Heredia stepped up. Cameron Maybin slugged a line drive to dead center that was over Heredia's head, but the second-year import from Cuba reached over his head to make the catch with his back to the infield, turning a potential game-tying extra-base hit into an out.
"He really has a feel for the wall," Servais said. "It was a great play that turned the game around."
Segura said, "The guy is unbelievable. You don't see many center fielders making plays like that, having to jump in front of the wall. He made it look easy."
The Angels' Jesse Chavez (5-9) took the loss after giving up two runs and four hits in five innings.
"He kept us in the game but made a lot of pitches," Angels manager Mike Scioscia said.
"Keynan tried to hit the corner against Cano but left it out over the plate. We competed and they made a lot of big plays."
Diaz worked a 1-2-3 ninth for the save.
Paxton has been aces against the Angels with a 4-2 record and 2.04 ERA in his nine career starts, allowing three runs or less in each game.
The Mariners scored runs in the third and fifth innings with the same combination of hitters.
A walk, single by Boog Powell and an RBI single by Segura gave the Mariners a 1-0 lead in the third. Powell, just recalled from Triple-A Tacoma, singled with one out in the fifth and scored from first on Segura's line-drive double to the wall in left center.
NOTES: CF Mike Trout won't travel with the Angels to Minnesota for their three-game series, but he will work out with the club's Class A Inland Empire farm team on Monday and Tuesday. He will be re-evaluated after Tuesday's workout and could make a rehab start with Inland Empire and possibly be activated for the Angels' last series before the All-Star break on July 7-9 at Texas. ... Angels RHP Matt Shoemaker is expected to make a start before the All-Star break. He threw a bullpen workout Saturday and reported no pain in his strained forearm. ... Mariners DH Nelson Cruz was not in the lineup after injuring his right knee sliding into second base early in Saturday's 4-0 loss to the Angels. Cruz ranks second in the American League in RBIs (59) but has gone 22 games without hitting a home run, the last coming June 4. ... The Mariners recalled OF Boog Powell from Triple-A Tacoma and sent RHP Max Povse back to Tacoma. Powell had two hits.