Werner se unió a los seis años al VfB Stuttgart, proveniente del T. S. V. Steinhaldenfeld.[2][3] En agosto de 2013, en un encuentro ante el Botev Plovdiv por la Liga Europa de la UEFA, realizó su debut como profesional a los diecisiete años, cuatro meses y veinticinco días, por lo que se convirtió en el futbolista de menor edad en debutar en ese club.[2][4] Un mes después, marcó un gol en la liga en un partido contra el Eintracht Frankfurt. Tiempo después, en una victoria por 3:1 sobre el S. C. Friburgo, se transformó en el jugador más joven en anotar un doblete en la Bundesliga, con dieciocho años y cuatro meses.[2][4]
R. B. Leipzig
En 2016, después de que su equipo descendiera a la segunda categoría del fútbol alemán, fue transferido al R. B. Leipzig, que había ascendido esa temporada a la primera división.[5][6] Werner firmó por cuatro años con la institución, que pagó diez millones de euros por su pase.[7][8]
En septiembre de ese año, a los veinte años y 203 días, se convirtió en el futbolista más joven en disputar cien encuentros en la Bundesliga. A los veintidós años y seis días, se transformó en el más joven en jugar ciento cincuenta partidos en la liga.[2] En la temporada 2016-17, quedó entre los cinco máximos anotadores de la liga, mientras que la siguiente campaña de liga fue el mayor goleador y asistidor de su equipo.[6] Esa misma temporada, durante un partido de Liga de Campeones de la UEFA ante el Beşiktaş, a los 31 minutos debió pedir que lo sustituyeran porque estaba aturdido debido al ruido que la afición turca producía.[9]
En esa Liga de Campeones, jugó seis partidos y marcó tres goles, uno al F. C. Porto y dos al A. S. Mónaco.[10] Su equipo no logró avanzar a la siguiente ronda, pero clasificó a la Liga Europa de la UEFA, donde Werner anotó cuatro goles, dos al S. S. C. Napoli y uno al Zenit de San Petersburgo y al Olympique de Marsella.[10][11] Fue parte del equipo estelar del torneo.[12] El 18 de marzo de 2018, el R. B. Leipzig derrotó por primera vez en su historia al Bayern de Múnich, en un encuentro donde Werner anotó.[13] El 25 de agosto de 2019, extendió su contrato hasta 2023.[14] Cinco días después, marcó tres goles en la victoria por 3:1 sobre el Borussia Mönchengladbach, que dejó a su equipo primero en la Bundesliga.[15] El 2 de noviembre volvió a anotar un triplete, en esta oportunidad al F. S. V. Maguncia en una goleada por 8:0, donde además dio dos asistencias.[16] El 23 de noviembre, en una victoria por 4:1 sobre el F. C. Colonia, se convirtió en el jugador más joven en disputar doscientos partidos en la Bundesliga. Además, en ese encuentro llegó a los 75 goles en la liga, lo que lo volvió el tercero más joven en alcanzar esta cifra.[3][17]
Chelsea F. C.
El 18 de junio de 2020 el Chelsea F. C. hizo oficial su fichaje en el mes de julio, una vez finalizada la Bundesliga, con un contrato hasta 2025.[18]
En su primera temporada participó en 22 goles, marcando o dando la asistencia, en 52 partidos, siendo titular en la mayoría de sus presencias. En la segunda tuvo menos protagonismo en el equipo, llegando a entrar en varias ocasiones desde el banquillo, y en total anotó 11 goles y dio 6 asistencias. Por ello, debido a la falta de minutos y tras una discusión con el entrenador según medios británicos, desde la prensa alemana se rumoreó con su vuelta al R. B. Leipzig a inicios de agosto de 2022.[19]
Regreso a Leipzig
El 9 de agosto de 2022 se hizo oficial su vuelta al R. B. Leipzig, equipo del que era el máximo goleador histórico con 95 tantos, firmando por cuatro temporadas.[20] Después de una y media, en la que ganó la Copa y la Supercopa de Alemania, en enero de 2024 fue prestado al Tottenham Hotspur F. C. hasta final de campaña y con una opción de compra.[21] En ese periodo de tiempo marcó dos goles en 14 partidos y en el mes de mayo ambos clubes acordaron extender la cesión para el curso 2024-25.[22]
Selección nacional
Con la selección alemana sub-17, Werner participó en el Campeonato Europeo Sub-17 de la UEFA 2012, en el que jugó tres partidos.[23] Con la sub-19, disputó el Campeonato Europeo de la UEFA Sub-19 2015, donde jugó un encuentro y marcó un gol.[23][24] Con la sub-21, disputó siete partidos y anotó tres veces.[23] En marzo de 2017 fue convocado por primera vez por Joachim Löw para jugar con la selección mayor, en un partido amistoso ante Inglaterra.[25] El encuentro se disputó el 22 de marzo y acabó 1:0 a favor de los alemanes; Werner lo comenzó de titular y más tarde fue sustituido.[26] En mayo integró la lista de jugadores a disputar la Copa Confederaciones,[27] donde el equipo alemán integró el grupo B junto con Australia, Camerún y Chile. El jugador le hizo dos goles a Camerún en la primera ronda y uno a México en la semifinal.[28][29] El seleccionado alemán se coronó campeón tras derrotar a Chile en la final, y Werner finalizó como máximo anotador de la competición.[30][31]
El 4 de junio de 2018 fue incluido en la lista de veintitrés futbolistas que viajarían a Rusia a disputar la Copa del Mundo,[32] donde integraron el grupo F junto con las selecciones de Corea del Sur, México y Suecia. El 17 de junio, en el primer partido, fueron derrotados por los mexicanos por 1:0; Werner fue sustituido en el minuto 86 por Julian Brandt.[33] Cuatro días después fue titular en el enfrentamiento ante Suecia, que comenzó de delantero centro, pero terminó jugando por la banda izquierda debido al ingreso de Mario Gómez García; el marcador final fue 2:1 a su favor.[34] La selección alemana perdió con Corea del Sur por 2:0 y quedó fuera del torneo.[35]