Inizia la sua carriera professionale con l'AS Real Bamako prima di entrare nel settore giovanile del Paris Saint-Germain nel 2011.
Nell'aprile 2014 firma il suo primo contratto da professionista con lo Charleroi, accordandosi con il club belga per un biennio. Raramente titolare durante la stagione regolare, è diventato titolare durante la fase di "play-off", contribuendo con cinque reti. Le sue buone prestazioni convincono il Gent ad offrirgli un contratto quadriennale, nel giugno 2015.
Dopo aver debuttato in campionato, il 24 novembre 2015 segna il suo primo gol con il Gent in Champions League e in generale in una competizioni confederali, contribuendo alla qualificazione agli ottavi di finale.
Il 18 agosto 2017 si trasferisce a titolo definitivo al Nantes.[4]
La sua prima stagione in Francia non va nei migliori dei modi, dopo aver racimolato otto presenze e una rete ad inizio stagione è costretto a stare fuori dai campi per il resto dell'annata a causa di un infortunio.[5]
La stagione successiva, complice il tragico trasferimento di Emiliano Sala al Cardiff City nella finestra di calciomercato invernale che lo eleva ad ultima alternativa in attacco per i canarini, gioca 32 partite mettendo a segno otto reti.
Nell'estate 2022, rimasto svincolato dal Nantes, si trasferisce a titolo definitivo alla Stella Rossa.[6]
Dopo appena cinque mesi, Coulibaly rescindere il proprio contratto con il club serbo, complice il poco minutaggio a lui concesso.[7]
Il 1º settembre 2023, nel corso dell'ultimo giorno della sessione estiva di calciomercato, fa ritorno in Francia dopo aver trovato un accordo con il club di Ligue 2 del Quevilly-Rouen[8]