Wagner stroomde door vanuit de jeugd van FC Bayern München. Hier speelde hij van 2005 tot en met 2008 in het tweede elftal, in de Regionalliga Süd. Hij debuteerde in het seizoen 2007/08 in het eerste, waarvoor hij dat jaar vier keer speelde. Wagner verkaste in juni 2008 naar MSV Duisburg, waarvoor hij tot en met januari 2010 uitkwam in de 2. Bundesliga. Het destijds in de Bundesliga spelende Werder Bremen nam hem in de winterstop van het seizoen 2009/10 vervolgens over. Na een half jaar in het tweede elftal, speelde hij in het seizoen 2010/11 twee derde van de competitiewedstrijden in het eerste elftal. Werder verhuurde hem in de tweede helft van het seizoen 2011/12 aan 1. FC Kaiserslautern.
Wagner verruilde Werder Bremen in 2012 definitief voor Hertha BSC. Hiermee werd hij in zijn eerste jaar bij de club kampioen in de 2. Bundesliga. Een elfde en een vijftiende plaats in de Bundesliga in de twee jaren die volgden, waren allebei genoeg voor behoud. Wagner tekende in augustus 2015 vervolgens een contract tot medio 2017 bij SV Darmstadt 98, dat in het voorgaande seizoen promoveerde naar de Bundesliga.[1] Hiermee eindigde hij in het seizoen 2015/16 als veertiende, twee plaatsen boven de degradatiestreep. Hij werkte hier zelf in 32 competitiewedstrijden aan mee. Wagner tekende in juni 2016 vervolgens een contract tot medio 2019 bij TSG 1899 Hoffenheim, de nummer vijftien van de Bundesliga in het voorgaande seizoen.[2] Hier maakte hij dusdanig veel indruk dat bondscoach Joachim Löw hem in juni 2017 liet debuteren in het Duits voetbalelftal. Bayern München haalde hem in januari 2018 terug naar Beieren. Hij verruilde Bayern München in januari 2019 voor Tianjin Teda waar hij de Duitse trainer Uli Stielike trof.[3]
Wagner won met Jong Duitsland het EK 2009 voor spelers onder 21. Hij maakte in de met 4-0 gewonnen finale tegen Jong Engeland de laatste twee doelpunten. Wagner debuteerde op 6 juni 2017 in het Duits voetbalelftal, tijdens een oefeninterland in en tegen Denemarken (eindstand: 1–1). Vier dagen later maakte hij zijn eerste, tweede en derde doelpunt als international. Tijdens een met 7–0 gewonnen kwalificatiewedstrijd voor het WK 2018 thuis tegen San Marino maakte hij zowel de 2–0, de 3–0 als de 7–0. In juni 2017 nam Wagner met Duitsland deel aan de FIFA Confederations Cup 2017, die werd gewonnen door in de finale Chili te verslaan (1–0). Wagner verklaarde in mei 2018 dat hij niet meer voor het Duits elftal zou spelen, nadat bondscoach Joachim Löw hem niet opnam in de Duitse selectie voor het WK 2018.