Knehr played college baseball at Fordham University for three seasons, playing both as pitcher and as a shortstop. He was named to the Atlantic 10 Conference All-Rookie Team after leading the Rams with a 2.25 ERA with 37 strikeouts in 36 innings pitched.[2] Following his freshman year, Knehr pitched for the Westhampton Aviators of the Hamptons Collegiate Baseball League and was named the league's Pitcher of the Year.[3] As a junior, Knehr went 6–3 on the mound with a 2.40 ERA, 93 strikeouts and a 1.33 WHIP in 90 innings pitched.[4] In 2017, he played collegiate summer baseball with the Chatham Anglers of the Cape Cod Baseball League.[5]
Knehr did not play in a game in 2020 due to the cancellation of the minor league season because of the COVID-19 pandemic.[8] Knehr was named to the Padres' 2021 Spring Training roster as a non-roster invitee and entered the season as the organization's 24th-ranked prospect by MLB.com.[9][10] He was assigned to the Double-A San Antonio Missions to begin the year.
On July 9, 2021, Knehr was selected to the 40-man roster and promoted to the major leagues for the first time.[11] He made his MLB debut that day as the starting pitcher against the Colorado Rockies, pitching 3+2⁄3 innings while allowing two runs. In the game, he also recorded his first career strikeout, striking out Rockies outfielder Raimel Tapia.[12] He made 12 appearances (5 starts) for the Padres in his rookie campaign, posting a 1–2 record and 4.97 ERA with 20 strikeouts in 29 innings pitched. Knehr appeared in 5 games for San Diego in 2022, recording a 3.95 ERA in 13+2⁄3 innings of work. The majority of his season was spent with the Triple-A El Paso Chihuahuas, where he pitched to a 4–4 record and 6.88 ERA with 92 strikeouts in 87+2⁄3 innings pitched across 32 games (15 starts).
Knehr was optioned to Triple-A El Paso to begin the 2023 season.[13] He struggled in 4 games for San Diego before he was placed on the injured list with right elbow discomfort on June 28, 2023.[14] Knehr was transferred to the 60–day injured list on July 18.[15] On November 14, Knehr was removed from the 40–man roster and sent outright to Triple–A El Paso.[16] On November 6, he elected free agency.[17]