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
Dodgers closer Kenley Jansen set for Nov. 26 heart surgery
Dodgers closer Kenley Jansen is expected to be ready for spring training after surgery to correct his irregular heartbeat. The surgery, which had been expected, has been scheduled for Nov. 26, with recovery time anywhere from two weeks to eight weeks.
Red Sox re-sign Series MVP Steve Pearce on 1-year, $6.25M deal
World Series hero Steve Pearce will be back in a Red Sox uniform in 2019. Boston re-signed the journeyman 1B for a reported $6.25 million. "We all saw what kind of impact he can have," GM Dave Dombrowski said of the improbable World Series MVP.
Rangers hire Julio Rangel to handle pitching staff
Julio Rangel has been hired by the Texas Rangers as pitching coach for new manager Chris Woodward.
Phillies owner: Ready to spend money 'and maybe be a little bit stupid about it'
Phillies owner John Middleton said he is ready to spend big in free agency after coming off a 2018 season in which the team contended for the National League East title before a late swoon.
Orioles name Mike Elias as GM
Mike Elias spent the past three seasons as the Astros' assistant general manager where he led the team's domestic and international scouting efforts.
For many players, this will be a long, cold winter
From veterans coming off one-year deals to all the available relievers -- so many relievers! -- the wait is on for offers that might never come.