Knizner finished 2017 with a combined .302 batting average with 12 home runs and 51 RBIs in 95 total games between the two clubs, including a .324 batting average in 51 games with Springfield.[16] After the season, the Cardinals assigned Knizner to the Surprise Saguaros of the Arizona Fall League (AFL).[17] He was named the AFL Hitter of the Week the first week of the season after tallying eight hits, two home runs, and five RBIs in 17 at-bats,[18] and was selected to participate in the Fall Stars Game. Knizner finished the 2017 AFL batting .358 with three home runs, 12 RBIs, and a .940 OPS in 17 games. Knizner was a non-roster invitee to 2018 spring training.[19]
Knizner began 2018 with Springfield and after batting .333/.412/.467 with two home runs and 18 RBIs in 27 games, he was promoted to the Memphis Redbirds.[20] However, he returned to Springfield on June 9 in order to make room for Carson Kelly on the Memphis roster.[21]
In July, he was selected to represent the Cardinals in the 2018 All-Star Futures Game.[22] In 94 games played between Springfield and Memphis, Knizner slashed .313/.368/.430 with seven home runs and 45 RBIs.[23]
Knizner returned to Memphis to begin 2019. On May 31, his contract was selected and he was called up to the major leagues for the first time.[24] At the time of his call up, he was batting .286 with five home runs and 17 RBIs through 37 games with Memphis.[25]
He made his major league debut at Busch Stadium on June 2 versus the Chicago Cubs, going 0–3 on the day as the Cardinals defeated Chicago 2–1.[26] He was optioned back to Memphis on June 11,[27] and recalled on July 11.[28] He registered his first major league hit, a double, on July 17 against Chris Archer of the Pittsburgh Pirates as the Cardinals defeated Pittsburgh 6–5. On July 24, he hit his first major league home run, also against the Pittsburgh Pirates, leading St. Louis to a 14–8 win.[29] Knizner finished his 2019 rookie regular season in St. Louis batting .226 with two home runs and seven RBIs over 53 at-bats.
In 2020, Knizner only received 17 at-bats across eight games, recording four hits and four RBIs.[30] For the 2021 season, Knizner returned as Yadier Molina's backup, taking 161 at-bats over 63 games, slashing .174/.281/.236 with one home run, nine RBIs, and seven doubles.[31]
Knizner saw more playing time in 2022—260 at-bats in 96 games—as Molina dealt with injuries for much of the season, and slashed .215/.301/.300 with four home runs and 25 RBIs.
On January 13, 2023, Knizner agreed to a one-year, $1.1 million contract with the Cardinals, avoiding salary arbitration.[32] On May 6, it was announced that Knizner would take over as the primary catcher as the Cardinals began to shift Willson Contreras to designated hitter.[33] However, the change was short-lived, and Contreras had returned to catching duties by May 15.[34] Knizner appeared in seventy games for the Cardinals and batted .241 with ten home runs and 31 RBIs.[35]
Knizner was non-tendered by the Cardinals on November 17, 2023.[36]
Texas Rangers
On January 11, 2024, Knizner signed a one–year, major league contract with the Texas Rangers.[37] In 35 games for the Rangers, he batted .167/.183/.211 with one home run and nine RBI. On August 6, Knizner was designated for assignment by Texas.[38]
Arizona Diamondbacks
On August 8, 2024, Knizner was claimed off waivers by the Arizona Diamondbacks.[39] In 20 games for the Triple–A Reno Aces, he slashed .274/.357/.397 with two home runs and 12 RBI. On September 14, Knizner was designated for assignment by the Diamondbacks.[40] He cleared waivers and was sent outright to Reno on September 18.[41] Knizner elected free agency on October 1.[42]