Werner stroomde door vanuit de jeugd vanVfB Stuttgart. Hiervoor debuteerde hij op 1 augustus 2013 in het eerste elftal, in een voorrondewedstrijd van deEuropa League uit tegenBotev Plovdiv.[3] Hij was op dat moment 17 jaar, vier maanden en 25 dagen oud. Daarmee werd hij de jongste debutant ooit voor VfB Stuttgart. Werner debuteerde op 17 augustus 2013 in deBundesliga, in een met 0–1 verloren wedstrijd thuis tegenBayer Leverkusen.[4] Zijn eerste doelpunt in de Bundesliga volgde op 22 september 2013, de 1–1 thuis tegenEintracht Frankfurt. Dit was tevens de eindstand.[5] Werner werd door VfB Stuttgart-coachThomas Schneider vaak alslinksbuiten gebruikt. Hij zette op 6 maart 2014 – zijn achttiende verjaardag – zijn handtekening onder zijn eerste profcontract, dat hem tot medio 2018 aan VfB Stuttgart verbond.
Werner speelde in zijn debuutseizoen dertig competitiewedstrijden, waarvan zestien vanaf het begin. Hij maakte dat jaar vier doelpunten, waarvan twee in één wedstrijd tegenSC Freiburg. Hij kwam ook twee keer in actie in deEuropa League. Werner schipperde in het seizoen 2014/15 tussen de basis en invalbeurten en werd in 2015/16 definitief basisspeler bij Stuttgart. Dat degradeerde aan het eind van die jaargang naar de2. Bundesliga. Werner daalde niet mee af.
Werner verruilde VfB Stuttgart in juli 2016 voor RB Leipzig, dat in het voorgaande seizoen was gepromoveerd naar de Bundesliga. Het betaalde een bedrag van 6 miljoen euro voor hem, dat door bonussen zou kunnen oplopen tot 12,5 miljoen euro.[6] CoachRalph Hasenhüttl gaf hem direct een basisplaats in een systeem met twee aanvallers, naastYussuf Poulsen. Werner maakte dat jaar 21 doelpunten in 31 competitiewedstrijden. RB Leipzig en hij eindigden mede hierdoor in het eerste jaar na promotie op de tweede plaats in de eindstand. Zodoende maakte Werner een seizoen later ook zijn debuut in deUEFA Champions League, thuis tegenAS Monaco (1–1). Zijn eerste doelpunt in dit toernooi maakte hij op 1 november 2017, de 1–1 in een met 3–1 verloren groepswedstrijd uit bijFC Porto.
Werner maakte op 30 augustus 2019 voor het eerst in zijn profcarrière eenhattrick. Hij zorgde toen voor zowel de 0–1, 0–2 als 1–3 in een met diezelfde cijfers gewonnen competitiewedstrijd uit bijBorussia Mönchengladbach. Hij maakte op 2 november 2019 zijn tweede. Hij maakte toen zowel het tweede, derde als achtste doelpunt in een met 8–0 gewonnen competitiewedstrijd thuis tegenFSV Mainz 05.
In juli 2020 tekende Werner een vijfjarig contract bijChelsea, waarmee een bedrag van ongeveer 53 miljoen euro was gemoeid. Werner maakte op 14 september 2020 zijncompetitiedebuut in de met 1–3 gewonnen uitwedstrijd tegenBrighton & Hove Albion. In twee seizoenen werd Werner nooit onbetwist basisspeler bij Chelsea. Hij haalde bovendien nooit de doelpuntenaantallen die hij in Duitsland haalde, wat hem op veel kritiek kwam te staan in Engeland. In augustus 2022 nam Chelsea afscheid van Werner, die terugging naar zijn oude ploeg. Hij kwam in Londen uiteindelijk tot 23 goals en 21 assists in 89 wedstrijden.
Op 9 augustus 2022 werd bekend dat Werner terugkeerde naar RB Leipzig, dat 20 miljoen euro betaalde voor de Duitser, ruim 30 miljoen minder dan zijn verkoopbedrag twee jaar eerder. Hij tekende bij Leipzig een contract voor vier jaar tot de zomer van 2026 en had bij Leipzig het doel om zich in de kijker te spelen voor het naderende WK Voetbal inQatar. In zijn eerste seizoen terug in Duitsland kwam hij in alle competities tot zestien doelpunten in veertig wedstrijden. In het seizoen 2023/24 was hij niet langer meer basisspeler en was hij vooral wisselspeler achterLoïs Openda enYussuf Poulsen. Hij had halverwege het seizoen slechts tweemaal gescoord in veertien wedstrijden en begon slechts vier keer in de basis.
In de winter van 2024 werd hij voor een halfjaar verhuurd aanTottenham Hotspur, dat tevens een optie tot koop heeft bedongen. Tottenham had onder meer door de deelname van sterspelerSon Heung-min aan deAzië Cup behoefte aan extra aanvallers. De veelzijdigheid van Werner, hij kan spits én linksbuiten spelen, was daarom aantrekkelijk voor Tottenham.
Werner maakte zestien doelpunten in achttien wedstrijden in Duitsland –17. In 2012 nam hij met Duitsland –17 deel aan hetEuropees kampioenschap –17 jaar inSlovenië. Werner debuteerde in 2013 in Duitsland –19, waarvoor hij vijf doelpunten maakte in zes interlands. In 2015 debuteerde hij inDuitsland –21
Werner debuteerde op woensdag 22 maart 2017 in hetDuits voetbalelftal, tijdens een met 1–0 gewonnen oefeninterland in hetSignal Iduna Park tegenEngeland. Deze ontmoeting fungeerde als afscheidswedstrijd voorLukas Podolski als international. Werner nam in juni 2017 met Duitsland deel aan deFIFA Confederations Cup 2017, die werd gewonnen door in de finaleChili te verslaan (1–0). Hij maakte tijdens de met 3–1 gewonnen groepswedstrijd tegenKameroen zowel zijn eerste (de 2–0) als zijn tweede doelpunt (de 3–1) voor de nationale ploeg. Hij scoorde ook in de halve finale tegenMexico.
Werner maakte eveneens deel uit van de Duitse selectie die onder leiding van bondscoachJoachim Löw deelnam aan hetWK 2018 inRusland. Hier strandde Duitsland, voor het eerst sinds hetWK 1938, in de groepsfase, na nederlagen tegenMexico (0–1) enZuid-Korea (0–2). In groep F werd alleen vanZweden (2–1) gewonnen. Werner was basisspeler in alle drie de wedstrijden.