On April 12, 2017, Gardner collided with Rickie Weeks at first base, and both players left the game. Gardner did not sustain a serious injury and came away only with a bruised jaw and strained neck. The Yankees listed him as day-to-day. On April 29, Gardner hit 2 home runs in a 12–4 win over the Baltimore Orioles. On May 2, Gardner had another two home run game in an 11–5 win over the Toronto Blue Jays. On May 5, with the Yankees down to their final strike, Gardner hit a go-ahead three-run home run off of Hector Rondon, which proved to be the game winner as the Yankees won 3-2 over the Chicago Cubs. On June 1, Gardner collected the 1,000th hit of his career off Marco Estrada of the Toronto Blue Jays. On June 30, Gardner went 3-for-5 with a grand slam and 6 RBIs, tying his career high, while falling a triple short of the cycle. On July 27, Gardner hit his 18th home run of the season, a walk-off against the Tampa Bay Rays, setting a new career high for single-season home runs. The next day, Gardner started the game with a leadoff home run. Gardner hit a walk-off single on July 29 with the bases loaded in the bottom of the ninth. Gardner hit a career-high 21 home runs, recording 23 steals and a .264 average as the Yankees made the playoffs and finished one game shy of the World Series. Gardner had a productive postseason, batting .286 with 2 RBI in the American League Division Series versus the Cleveland Indians. He was listed as a Gold Glove finalist, but ultimately lost to Alex Gordon of the Kansas City Royals.