On April 2, 2017, Contreras was the Cubs' opening day starting catcher against the St. Louis Cardinals. After hitting 5 home runs in 6 games, he was selected as the National League's Player of the Week on August 8. On August 9, Contreras suffered a moderate hamstring strain while running to first base against the San Francisco Giants. At the time of the injury he was batting .274 with 93 hits in 339 at bats, hit 21 home runs and had 70 RBIs. Willson returned from the injury on September 10 as a pinch hitter. On September 15, 2017, Contreras was ejected and suspended one game for throwing his mask, which bounced and hit umpire Jordan Baker in the shins. In 377 at bats, Contreras finished the season with a .276 batting average, 104 hits, 21 home runs, 5 stolen bases and 74 RBIs.
On October 18, 2017, in Game Four of the NLCS, Contreras hit the longest postseason home run (491 feet) since Statcast started recording such data in 2015.