Denis Bouanga wurde in Le Mans als Sohn einer französischen Mutter und eines gabunischen Vaters geboren.[1][2] Er begann mit dem Fußballspielen beim CS Sablons Gazonfier und kam über SO Maine mit 17 Jahren in die Jugendauswahl des Le Mans FC. Dort wurde er im Jahr 2013 aussortiert, woraufhin er sich dem Amateurverein AS Mulsanne-Téloché anschloss.[3] Dort wurde er rasch zum besten Spieler der Mannschaft und er erzielte in der Saison 2013/14 wettbewerbsübergreifend 30 Tore.[3] Zur Saison 2014/15 wechselte er in die Reservemannschaft des FC Lorient, welche in der viertklassigen Championnat National 2 spielte.[4] Beim FC Lorient II etablierte er sich ebenfalls als wichtiger Spieler und am 28. Oktober 2014 debütierte er beim 2:1-Auswärtssieg gegen den FC Évian Thonon Gaillard in der Coupe de la Ligue für die erste Mannschaft.[5] Sein erstes Spiel in der höchsten französischen Spielklasse bestritt er am 1. November 2014 (12. Spieltag) bei der 1:2-Heimniederlage gegen Paris Saint-Germain, als er in der 82. Spielminute für Raphaël Guerreiro eingewechselt wurde.[4][6] Es blieb bei diesen beiden Pflichtspieleinsätzen für Bouanga in dieser Spielzeit, jedoch konnte er in der Reserve mit 10 Toren in 19 Ligaspielen überzeugen.[7]
Er wurde den ersten vier Erstligaspielen der nächsten Saison 2015/16 eingesetzt[8] und erzielte am 29. August 2015 (4. Spieltag) bei der 1:4-Auswärtsniederlage gegen Stade Reims sein erstes Tor für die Merlus.[9] Anschließend wurde er nur noch in einer Pokalpartie berücksichtigt und verließ am 4. Januar 2016 den Verein auf Leihbasis zum DrittligistenRacing Straßburg.[10] Dort traf er bereits vier Tage später (17. Spieltag) beim 2:0-Heimsieg gegen die ASM Belfort zum Einstand in das halbjährige Leihgeschäft.[11] Er etablierte sich rasch als wichtige Stammkraft beim Aufstiegsaspiranten.[8] Am 11. März (24. Spieltag) erzielte er beim 3:0-Auswärtssieg gegen den Rivalen SR Colmar einen Doppelpack und bereitete das dritte Tor vor.[12] Trotz einer kleinen Durststrecke zum Saisonende mit nur einem Sieg aus den letzten acht Ligaspielen gelang Racing der Meistertitel und damit der Aufstieg in die Ligue 2.[13] Denis Bouanga hatte dabei mit fünf Toren und drei Vorlagen einen wesentlichen Anteil und stand in allen 18 Ligaspielen, welche seit seiner Ankunft ausgetragen wurden, in der Startformation.[8]
Am 26. Juli 2016 wechselte Bouanga in einem Leihgeschäft für die gesamte Saison 2016/17 zum Zweitligisten FC Tours.[14] Am 29. Juli 2016 debütierte er beim 0:0-Unentschieden gegen den AC Ajaccio in der zweithöchsten französischen Spielklasse, als er in der 66. Spielminute für Bryan Bergougnoux in die Partie gebracht wurde.[15] Am 19. August (4. Spieltag) erzielte er beim 4:1-Auswärtssieg gegen Chamois Niort sein erstes Saisontor.[16] Bouanga entwickelte sich als Faktor im Spiel des Vereins aus Indre-et-Loire.[17][18] In den letzten 14 Ligaspielen der Spielzeit traf der Flügelspieler 11 Mal und trug wesentlich zum Klassenerhalt der Mannschaft bei.[17] Insgesamt bestritt er 36 Einsätze in der Ligue 2, in denen ihm 16 Tore und sechs Vorlagen gelangen und kehrte anschließend zum FC Lorient zurück.[17]
Lorient musste in der Saison 2016/17 den Abstieg in die Ligue 2 und zählte dort auf den zurückgekehrten Bouanga.[19] Dieser wurde in der Vorbereitung zur Spielzeit 2017/18 von mehreren Vereinen umworben, verlängerte schließlich aber seinen Vertrag bis 2021.[20][21] Er startete hervorragend in die Saison und stand nach sechs Spieltagen bereits bei vier Toren und zwei Vorlagen.[22] Diese Quote konnte er jedoch in den nächsten Monaten nicht aufrechterhalten und fiel zum Saisonende letztlich aus der Startelf.[22] Er absolvierte 34 Ligaspiele, in denen er neun Tore erzielte und vier weitere Treffer vorbereitete[22] und verpasste mit Lorient den angepeilten Wiederaufstieg in die Ligue 1 als Tabellensiebter.[23]
Am 17. Juli 2018 wechselte Denis Bouanga für eine Ablösesumme in Höhe von drei Millionen Euro zum Ligue-1-Aufsteiger Olympique Nîmes, wo er einen Dreijahresvertrag unterzeichnete.[24][25] Am 11. August 2018 (1. Spieltag) bestritt er beim 4:3-Auswärtssieg gegen den SCO Angers sein erstes Ligaspiel.[26] Bereits im nächsten Spiel beim 3:1-Heimsieg gegen Olympique Marseille erzielte er sein erstes Tor.[27] Er entwickelte sich in dieser Spielzeit 2018/19 als Stammspieler und absolvierte 35 Ligaspiele, in denen ihm sieben Tore und drei Assists gelangen.[28]
Am 9. Juli 2019 schloss sich Denis Bouanga für eine Ablösesumme in Höhe von 4,5 Millionen Euro dem Ligakonkurrenten AS Saint-Étienne an, wo er mit einem Vierjahresvertrag ausgestattet wurde.[29][30] Am 10. August 2019 (1. Spieltag) gab er beim 2:1-Auswärtssieg gegen den FCO Dijon sein Debüt.[31] Im nächsten Ligaspiel gegen Stade Brest besorgte Bouanga in der 83. Spielminute den Ausgleich zum 1:1-Endstand.[32] In dieser Saison 2019/20 bestritt er 26 Ligaspiele, in denen ihm 10 Tore und drei Vorlagen gelangen.[33]
Im August 2022 verließ er im Alter von 27 Jahren erstmals Frankreich und schloss sich dem Los Angeles FC an.[34] Schon nach seiner ersten Halbserie konnte er mit dem LAFC sowohl den Gewinn des MLS Supporters’ Shield als auch die Meisterschaft in der MLS feiern, 2023 wurde er mit 20 Toren in der Regular Season Torschützenkönig.[35]
Nationalmannschaft
Denis Bouanga stand im Kader der gabunischen Nationalmannschaft für den Afrika-Cups 2017 im eigenen Land.[36][37] Am 14. Januar 2017 debütierte er beim 1:1-Unentschieden im ersten Gruppenspiel gegen Guinea-Bissau für die Panthères und bereitete den Treffer Pierre-Emerick Aubameyangs vor.[38] Er stand in den zwei weiteren Gruppenspielen, in denen er jeweils zum „Man of the Match“ gewählt wurde, ebenfalls über die volle Distanz der Partien auf dem Spielfeld.[39][40] Dennoch schieden die Gastgeber als Gruppendritter aus dem Wettbewerb aus.[41] Am 10. Juni 2017 erzielte er bei der 1:2-Auswärtsniederlage gegen Mali in der Qualifikation zum Afrika-Cup 2019 sein erstes Länderspieltor.[42] Nachdem die Qualifikation für das Turnier 2019 verpasst wurde, stand Bouanga beim Afrika-Cup 2022 erneut im gabunischen Aufgebot.