Okafor speelde in de jeugd van FC Arisdorf en kwam in 2009 terecht in de opleiding van FC Basel. Bij deze club maakte hij op 19 mei 2018 zijn debuut in het eerste elftal. Op die dag werd in de Super League gespeeld tegen FC Luzern. Namens die club scoorden Marvin Schulz en Pascal Schürpf en FC Basel zag Mohamed Elyounoussi en Albian Ajeti doeltreffen, waardoor het uiteindelijk 2–2 werd. Okafor moest van coach Raphael Wicky na vierendertig minuten invallen voor Elyounoussi.[1]
De aanvaller maakte op 28 juli 2018 zijn eerste professionele doelpunt, toen hij op aangeven van Luca Zuffi de score opende tegen Neuchâtel Xamax. Dat team zou uiteindelijk via Rapha Nuzzolo op gelijke hoogte komen: 1–1 en Okafor werd dertien minuten voor tijd gewisseld ten faveure van Valentin Stocker.[2] In februari 2019 deelde FC Basel een nieuwe verbintenis uit aan Okafor; deze zou lopen tot en met het seizoen 2022/23.[3] Hij speelde in totaal tweeënvijftig wedstrijden voor FC Basel, waarin hij zeven keer scoorde, en één prijs won: de beker in 2019.
Red Bull Salzburg
Op de laatste dag van de winterse transferperiode in januari 2020 tekende hij bij Red Bull Salzburg. De Oostenrijkse club betaalde circa 11,2 miljoen euro voor zijn overgang en schotelde de aanvaller een contract voor vierenhalf jaar voor.[4] Op 9 februari maakte hij in de beker tegen SKU Amstetten zijn debuut voor de club. Op 8 maart, net voor het stilleggen van de competitie door corona, maakte hij ook in de Oostenrijkse Bundesliga zijn debuut tegen Sturm Graz. Op 3 juni, de eerste wedstrijd na de hervatting van de competitie, maakte hij tegen Rapid Wien zijn eerste doelpunt. Op 29 mei scoorde hij in de finale van de ÖFB-Cup tegen Austria Lustenau, dat met 5–0 verslagen werd. Ook werd hij in zijn eerste jaar kampioen van Oostenrijk. Dat zou hij in alle vier seizoenen die hij er zou spelen worden, terwijl zijn eigen productie elk jaar omhoog ging. In het seizoen 2021/22 scoorde hij veertien keer in alle competities. In totaal speelde Okafor 110 wedstrijden voor Red Bull Salzburg, waarin hij goed was voor 34 doelpunten en 23 assists.
AC Milan
In de zomer van 2023 werd Okafor voor circa veertien miljoen euro overgenomen werd door AC Milan. De Italianen gaven hem een contract voor vijf jaar.[5] Op 21 augustus maakte hij tegen Bologna zijn debuut voor AC Milan. Op 27 september maakte hij tegen Cagliari zijn eerste doelpunt voor de Italianen. In zijn eerste seizoen was hij vooral invaller, maar hij kwam wel tot zes goals en drie assists in zesendertig wedstrijden.
Okafor werd in mei 2019 door bondscoach Vladimir Petković opgenomen in de selectie van Zwitserland voor de finaleronde van de Nations League 2018/19. Hij kwam in de selectie als vervanger van de geblesseerd afgehaakte Breel Embolo.[7] In die finaleronde werd met 3–1 verloren van Portugal, waarna de troostfinale werd gespeeld tegen Engeland. Hierin werd met 0–0 gelijkgespeeld waarna de Engelsen na strafschoppen te sterk waren. Okafor mocht van Petković in deze wedstrijd zijn debuut maken door in de drieëntwintigste minuut van de verlenging binnen de lijnen te komen als vervanger van Haris Seferović.[8] Hij maakte zijn eerste doelpunt voor de nationale ploeg in zijn derde interlandoptreden op 15 november 2021 in de WK-kwalificatiewedstrijd tegen Bulgarije. Drie minuten na rust opende hij de score in deze wedstrijd. Door treffers van Ruben Vargas, Cedric Itten en Remo Freuler won Zwitserland dit duel met 4–0.[9]