Gnabrys barndomsklub VfB Stuttgart, som han havde spillet for i fem år, indgik en aftale med Arsenal i 2010, som lød på, at Gnabry skulle til Premier League-klubben for £100,000. Skiftet skete i 2011. Gnabry startede med at spille for Arsenals U/18 hold.
I 2012-2013 sæsonen blev Gnabry udtaget til en venskabskamp med førsteholdet imod FC Köln, hvor han spillede 24 minutter. Han startede på bænken, men kom ind i halvlegen, og blev i 69. minut taget ud igen til fordel for Marouane Chamakh. Den 26. september 2012 fik Gnabry sin officielle debut for Arsenal i en kamp mod Coventry City i League Cupen, hvor han erstattede Alex Oxlade-Chamberlain i 72. minut. Den 20. oktober 2012 fik Gnabry sin Premier League-debut imod Norwich City. Han var dermed Arsenals tredjeyngste spiller til at debutere på førsteholdet, lige efter Jack Wilshere og Cesc Fàbregas.
Han nåede dog aldrig at etablere sig på klubbens førstehold, og i sæsonen 2015-16 blev han udlånt til West Bromwich; heller ikke her fik han rigtig succes og blev hentet tilbage til Arsenal i januar 2016.
Werder Bremen
I sommeren 2016 skiftede Gnabry tilbage til Tyskland til Werder Bremen, selv om Arsenal havde tilbudt ham en kontraktforlængelse.[4] Han kunne imidlertid ikke rigtig se nogen fremtid på holdet, hvilket gjorde, at han skiftede.
I Bremen byggede han oven på det gennembrud, han havde opnået ved OL. Han spillede 27 kampe for Bremen og scorede 11 mål.
Bayern München
I juni 2017 bekendtgjorde Gnabry, at han ikke ønskede at forlænge sin aftale med Werder Bremen, og 11. juni blev det offentliggjort, at han skiftede til landets førende klub, FC Bayern München.[3]
Landshold
Gnabry har spillet på stort set alle tyske ungdomslandshold fra U/16 til U/19 og U/21. Han blev udtaget til det tyske landshold ved OL 2016 i Rio de Janeiro, hvor gik videre fra den indledende runde med to sejre og et nederlag. I kvartfinalen besejrede Tyskland Portugal med 4-0 og i semifinalen Nigeria med 2-0. Finalen blev en kamp mod hjemmeholdet fra Brasilien, og kampen endte i straffesparkskonkurrence efter 1-1. Her scorede Gnabry, men da hans landsmand Nils Petersen brændte sit forsøg, endte brasilianerne med at sejre 5-4 og tage guldet, mens Tyskland fik sølv.[5] Gnabry scorede i alt seks mål i turneringen og blev delt topscorer med netop Nils Petersen.[6]