Cresciuto nel settore giovanile del Paderborn, nel 2015 si trasferisce allo Schalke 04.[1] Diventato titolare all'inizio del 2019[2], nel corso dell'estate diventa il nuovo capitano della squadra.[3] Dopo aver deciso di non rinnovare il contratto in scadenza[4], il 4 gennaio 2020 firma un quinquennale con il Bayern Monaco, valido dal successivo mese di luglio.[5][6] Contestualmente perde la fascia di capitano a favore di Omar Mascarell.[7]
Bayern Monaco e prestiti: Monaco e Stoccarda
Il 15 ottobre debutta con la maglia dei bavaresi nella vittoria per 3-0 in coppa nazionale contro il Düren. Il 1º dicembre, inoltre, è titolare nel pareggio interno (1-1) di Champions League contro l'Atlético Madrid.
Il 27 giugno 2021 si trasferisce in prestito biennale al Monaco, dopo aver collezionato soltanto quattro presenze nella sua prima stagione con il club bavarese.[8][9]
Il 12 aprile 2024 rinnova il suo contratto coi bavaresi sino al 2029 e, contestualmente, viene rinnovato per un altre due stagioni il suo prestito allo Stoccarda.[12][13]
Nazionale
Il 16 maggio 2024 viene convocato per la prima volta in nazionale maggiore venendo inserito nella lista dei pre-convocati per Euro 2024;[14] tuttavia non viene confermato nella rosa finale dei 26 convocati.[15]
L'11 ottobre 2024, a seguito del ritiro dalla nazionale di Manuel Neuer e dell'infortunio accorso al nuovo titolare Marc-André ter Stegen un mese prima, esordisce con la massima selezione teutonica nella gara vinta in casa della Bosnia ed Erzegovina valevole per la Nations League (1-2).[16]