קהרר גדל בטובינגן הקרובה לשטוטגרט לאב גרמני ואם מבורונדי, ובנעוריו שיחק במספר מועדונים באזור הולדתו, לרבות מועדון הכדורגל שטוטגרט. בשנת 2012, כאשר היה בן 16, החל לשחק במחלקת הנוער של שאלקה 04, הידועה ביכולתה לאתר כישרונות צעירים איכותיים. בפברואר 2015 ערך קהרר את הופעת הבכורה שלו בקבוצה הבכירה של שאלקה 04 בבונדסליגה, בניצחון 0–3 על וולפסבורג. זו הייתה הופעתו היחידה של קהרר בבונדסליגה בעונה זו. בעונת 2016/17, קהרר הפך לשחקן משמעותי יותר, כשערך 16 הופעות ליגה, וסיים עם שאלקה במקום העשירי בבונדסליגה. בעונת 2017/18 קהרר תפס מקום חשוב בהגנת הקבוצה, בה שיתף פעולה עם בסטיאן אוצ'יפקה, נאלדו ומטייה נסטאסיץ', וסייע לקבוצה לסיים במקום השני בבונדסליגה, כשהקבוצה ספגה 37 שערים, ורק באיירן מינכן ושטוטגרט ספגו פחות. באותה עונה, הבקיע קהרר שלושה שערי ליגה, אחד מהם בתיקו 1-1 בדרבי של הרוהר מול בורוסיה דורטמונד.
יכולתו הטובה של קהרר לא נעלמה מהמועדונים הגדולים. בקיץ 2018 חתם קהרר על חוזה לחמש עונות בפריז סן-ז'רמן, ששילמה עבורו 37 מיליון אירו לשאלקה 04. את הופעת הבכורה בפריז סן-ז'רמן ערך קהרר בניצחון 1–3 על אנז'ה במסגרת ליגת העל הצרפתית. בסיום עונת 2018/19 זכה קהרר עם פריז סן ז'רמן באליפות צרפת והגיע עמה לגמר הגביע הצרפתי, ממנו נעדר, כשפריז סן ז'רמן הפסידה בפנדלים לסטאד רן. בעונת 2019/20 זכה קהרר עם פריז סן ז'רמן בדאבל מקומי, והגיע עמה לגמר ליגת האלופות 2020, לאחר ששלבי ההכרעה של ליגת האלופות נדחו לחודש אוגוסט בעקבות התפרצות מגפת הקורונה. במשחק הגמר, שיחק קהרר 90 דקות בהפסד 0–1 לבאיירן מינכן, ולא הצליח להשלים טרבל.
ב-9 בספטמבר 2018 ערך קהרר את הופעת הבכורה שלו במדי נבחרת גרמניה הבכירה, כשהחליף את מתיאס גינטר בדקה ה-72 במשחק בו ניצחה גרמניה את פרו במשחק ידידות בריין-נקר ארנה.