[12] On June 19, he hit a two-run home run on the first pitch of his first major-league at-bat after two pick-off attempts by A. J. Schugel to first base, becoming the 30th player in the modern MLB era to do so.
[15] Contreras finished the 2016 regular season with 80 hits in 295 at-bats with 12 home runs, 35 RBIs and a .275 batting average.
Contreras was forced at second by a Jason Heyward bunt but the Cubs scored the go-ahead run later that inning, sending them to the National League Championship Series.
On August 9, Contreras suffered a moderate hamstring strain while running to first base against the San Francisco Giants.
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.
[20] In 377 at-bats, Contreras finished the season with a .276 batting average, 104 hits, 21 home runs, five stolen bases and 74 RBIs.
On October 18, 2017, in Game Four of the NLCS, Contreras hit the longest postseason home run, at 491 feet (150 m), since Statcast started recording such data in 2015.
[23] On May 11, he had his first career walk-off hit, a solo shot off the Milwaukee Brewers' Burch Smith, ending a 15-inning marathon.
[24] Contreras and teammate Javier Baez were named starters for the National League in the 2019 All-Star game, but neither registered a hit.
On May 16, 2022, Contreras hit a grand slam off of Pittsburgh Pirates starter Bryse Wilson, with the blast marking his 100th career home run.
[32] The decision was made at the request of the Cardinals' starting pitchers who attributed their poor performance to Contreras and told management that they no longer wanted to pitch to him.
Following the season, president of baseball operations John Mozeliak announced that Contreras would be moving to first base on a permanent basis.