Haniger dashed home to score the go-ahead run on a grounder in the eighth inning, then made a diving catch for the final out that gave the Mariners a 3-2 win over the Yankees.
Haniger started the eighth with a walk off reliever Dellin Betances (4-5) before stealing second by reaching in with his right hand at the last second.
"I was just trying to miss the tag," Haniger said. "I knew if I went in with my left hand it would have been a lot closer."
Haniger reached third on Jean Segura's sacrifice bunt. With the infield in, Robinson Cano hit a broken-bat roller up the middle. Haniger was running on contact and shortstop Adeiny Hechavarria made a quick throw home, but Haniger just got his right hand on the plate before the tag from catcher Austin Romine.
"I just wanted to get as low as possible to avoid the tag by making the catcher reach as far as possible," Haniger said. "I take pride in every facet of the game. I had some great coaches coming up that taught me how to play the game right."
Edwin Diaz pitched the ninth for his 54th save and 27th one-run save, both the most in baseball. But it took a diving grab by Haniger on Giancarlo Stanton's fly ball to stop a possible New York rally.
Andrew McCutchen was hit by a pitch with two outs before Haniger's catch off Stanton's broken-bat fly to shallow right.
"I had to play real deep to respect his power," Haniger said. "It kind of blooped in there and hauled over as fast as I could and made the play. Once I got to full speed, I felt I was going to get it."
Haniger, an All-Star for the first time this year, has 24 homers and 85 RBI this season.
"Mitch is a very good all-around player," manager Scott Servais said. "We all know about his power, but his defense and the way he runs the bases makes him a heck of a player."
The loss kept the Yankees from sweeping the three-game series and leaves New York only 2 1/2 games ahead of Oakland for the league's top wild-card spot.
Miguel Andujar's double down the left field line gave the Yankees a 1-0 lead in the first inning after Stanton hit a towering pop to shallow left that dropped for a double.
The Yankees loaded the bases with three singles to start the fourth against starter Erasmo Ramirez, but only score one run off a walk to McCutchen, tying the game at 2-2.
"Disappointing, no question," Yankees manager Aaron Boone said. "That fourth inning, had them on the ropes there and a chance to do some damage, and just couldn't get that hit to push us over. It was a chance to have a great weekend. Obviously, a tough one here."
Brett Gardner was ejected after his at-bat in the ninth inning when he had a heated argument with plate umpire Jeremie Rehak after he struck out. Garner didn't like the called second strike.
"I just felt like that was a big pitch. My at-bat went from being 3-0 to being 2-1 against a guy that throws 100," Gardner said. "I let my emotions get the best of me and was frustrated a little bit, and obviously, I said too much."
Yankees: Andujar was the DH Sunday after leaving the game Saturday night in the ninth inning when he was hit by a pitch on the right forearm. ... SS Didi Gregorius, who came off the 10-day DL Friday, did not start after starting Saturday night before leaving the game in the seventh inning. He pinch hit in the ninth and grounded out. Boone has said they plan to bring Gregorius back gradually.
Mariners: Cano started at second base after leaving Saturday's night's game in the ninth when he was hit by a pitch on the left foot. ... Servais wasn't sure when RHP Felix Hernandez will make his next start after leaving Saturday's game in the fifth inning because of tightness in his right hamstring. "We'll see where we slot him back in," Servais said. "He might need an extra day. We'll wait to pencil him in for his next start."
Yankees: The road trip continues with a three-game series at Minnesota. LHP J.A. Happ (14-6, 3.90 ERA) will make his eighth start with New York on Monday and his 28th of the season. Happ is 5-0 with a 3.10 ERA in seven starts with the Yankees.
Mariners: After a day off Monday, Seattle ends the homestand with a two-game series against the Padres that starts Tuesday. LHP Marco Gonzales (12-9, 4.32 ERA) is expected to come off the 10-day DL (neck strain) and make his 26th start to the season Tuesday. Gonzales lost four consecutive starts before going on the DL Aug. 27, allowing 23 earned runs over 20 innings.
More AP MLB: https://apnews.com/tag/MLB and https://twitter.com/AP-Sports
A's hold off Houston 7-6 in a home run derby with 10 homers
Matt Chapman hit two home runs for the second straight day, connecting for the tiebreaking shot in the eighth inning to lead the Oakland Athletics to a 7-6 win over the Houston Astros on Thursday night.
Longoria, Rodriguez lead Giants in 7-0 victory over Arizona
Evan Longoria had a 412-foot homer among his three hits and four RBI, Dereck Rodriguez pitched seven strong innings in his first day back in the majors and the San Francisco Giants beat the Arizona Diamondbacks 7-0 on Thursday night.
Longoria drives in 4 as Giants blank D-backs
Evan Longoria knocks in a 2-run single and crushes a 2-run home run as the Giants beat the Diamondbacks 7-0.
Darvish historically good but Cubs still crumble
Yu Darvish became only the second MLB pitcher to go four consecutive starts with eight-plus strikeouts and no walks.
Twins slug 3 HRs in 13-6 win at Texas, keep AL Central lead
Luis Arraez hit the first of three more homers by the slugging Minnesota Twins, putting them ahead to stay in a 13-6 win over the Texas Rangers on Thursday night.
Twins dig the long ball in blowout vs. Rangers
Luis Arraez, Miguel Sano and Eddie Rosario each go yard in the Twins' lopsided 13-6 defeat over the Rangers.