W 2010 Gnabry zgodził się za kwotę 100 tysięcy funtów przejść z niemieckiegoVfB Stuttgart do angielskiegoArsenalu, jednak na finalizację transferu czekał jeszcze rok, aż do osiągnięcia 16 roku życia[1]. Przed rozpoczęciem sezonu 2011/2012 Gnabry oficjalnie został zawodnikiem Arsenalu, gdzie przez większą część rozgrywek występował w zespole do lat 18, ale dzięki dobrym występom został przesunięty do drużyny rezerw[2]. Do końca sezonu w barwach drugiego zespołu rozegrał sześć spotkań i zdobył dwa gole[2].
Przed sezonem 2012/2013 znalazł się w kadrze pierwszego zespołu na przedsezonowy mecz towarzyski z niemieckim1. FC Köln. W meczu wystąpił przed 24 minuty, wchodząc na boisko na początku drugiej połowy i będąc zmienionym w 69. minucie przezMarouane Chamakha[3]. 26 września 2012 Gnabry oficjalne zadebiutował w barwach pierwszej drużyny podczas wygranego 6:1 spotkaniaPucharu Ligi Angielskiej zCoventry City, gdy w 72. minucie zastąpiłAleksa Oxlade'a-Chamberlaina[4]. 20 października rozegrał swoje pierwsze spotkanie wPremier League, podczas którego Arsenal przegrał 0:1 zNorwich City. Został tym samym trzecim najmłodszym debiutantem w ligowej historii Arsenalu, zaraz poJacku Wilsherze iCesku Fàbregasie. Cztery dni później zadebiutował w rozgrywkachLigi Mistrzów UEFA podczas przegranego 0:2 meczu z niemieckimFC Schalke 04. 25 marca 2013 Gnabry zdobył zwycięską bramkę podczas wygranego 1:0 spotkania ćwierćfinałowegoNextGen Series zCSKA Moskwa U-19[5]. W półfinale tych rozgrywek podczas meczu zChelsea U-19 zdobył wyrównującą bramkę na 3:3, ostatecznie jednak po doliczonym czasie gry Arsenal przegrał 3:4. Kolejne spotkanie rozegrał 8 kwietnia, zdobywając gola w przegranym 2:3 spotkaniu zLiverpoolem U-21.
Gnabry znalazł się w składzie pierwszej drużyny powołanej na pierwszy mecz sezonu 2013/2014 zAston Villą, jednak spędził pełne 90 minut na ławce rezerwowych[6]. 22 września 2013 po raz pierwszy w karierze wyszedł w podstawowym składzie Arsenalu, zastępując w nimTheo Walcotta, który na rozgrzewce przed meczem zeStoke City doznał kontuzji[7]. Na boisku przebywał do 73 minuty, gdy to zmienił goRyō Miyaichi, zaś Arsenal wygrał 3:1. W kolejnym ligowym spotkaniu przeciwko walijskiemuSwansea City Gnabry zdobył swoją pierwszą bramkę w seniorskim futbolu, co pomogło Arsenalowi wygrać 2:1 i utrzymać się na pierwszym miejscu w tabeli[8]. Podczas spotkania zCrystal Palace wywalczył rzut karny, który na bramkę zamieniłMikel Arteta. Dobry początek sezonu w wykonaniu Gnabry'ego sprawił, że został on nominowany do nagrodyZłotego Chłopca[9], a także podpisał nowy, pięcioletni kontrakt z Arsenalem[10].
31 sierpnia 2016 został piłkarzemWerderu Brema[11]. 11 września 2016, w meczu z Augsburgiem (1:2), zadebiutował wBundeslidze, natomiast w następnej kolejce, 17 września 2016, w spotkaniu zBorussią Mönchengladbach, zdobył swoją pierwszą bramkę w tej lidze. Łącznie w sezonie2016/2017 wystąpił w 27 ligowych meczach Werderu, strzelając w nich 11 bramek i notując 2 asysty.
Gnabry reprezentował Niemcy na wielu młodzieżowych szczeblach, występując w zespołach do lat 16, do lat 17 oraz do lat 18[13]. 22 marca 2013 w barwachkadry do lat 18 zdobył dwie bramki w przegranym 2:3 towarzyskim spotkaniu zFrancją U-18[14].
Gnabry urodził się wStuttgarcie. Jego ojciec pochodził zWybrzeża Kości Słoniowej, zaś matka była Niemką. W młodości trenował biegi sprinterskie, ostatecznie jednak zmuszony został do wyboru pomiędzy piłką nożną a lekką atletyką[13].