Okafor wechselte 2009 vom FC Arisdorf in die Jugendabteilung des FC Basel.[1] Nachdem er alle Jugendabteilungen bis zur U-21 durchlaufen hatte, stieg er im Januar 2018 in die erste Mannschaft unter Trainer Raphael Wicky auf.[2] Obwohl noch bei der U-21 engagiert, wurde er in der Rückrunde der Saison 2017/18 immer wieder ins Kader berufen, musste jedoch auf seinen ersten Einsatz bis zum letzten Spieltag warten. In der Partie gegen den FC Luzern (2:2) wurde er in der 34. Spielminute für den verletzten Mohamed Elyounoussi eingewechselt.[3] Am zweiten Spieltag der Saison 2018/19 gegen Neuchâtel Xamax erzielte er in seinem erst zweiten Einsatz für den FC Basel sein erstes Tor. Interimstrainer Alexander Frei setzte ihn als linken Flügel in der Startelf ein und liess ihn während 77 Minuten auflaufen.[4]
Im Januar 2020 wechselte er nach Österreich zum FC Red Bull Salzburg, bei dem er einen bis Mai 2024 laufenden Vertrag erhielt.[5] Bei Salzburg war er zu Beginn primär als Einwechselspieler im Einsatz, bis zum Ende der Saison 2019/20 absolvierte er elf Partien in der Bundesliga, in denen er dreimal traf. Mit Salzburg holte er das Double aus Meisterschaft und Cup. In der Saison 2020/21 stand er zu Beginn immer öfter in der Startelf, ehe er einen grossen Teil des Frühjahrs verletzt verpasste. Zu Saisonende standen 18 Bundesligaeinsätze mit sechs Toren zu Buche, zudem spielte er viermal für die Salzburger in der UEFA Champions League. Mit Red Bull holte er erneut das Double. In der Saison 2021/22 sollte ihm dann der Durchbruch im Salzburger Angriff gelingen, Okafor blieb zwar weiter sehr verletzungsanfällig, als Mittelstürmer in einem 4-3-1-2 von Matthias Jaissle erzielte er allerdings dennoch neun Tore in 21 Ligaeinsätzen, in der Champions League traf er dreimal und erreichte mit dem Team das Achtelfinale. Salzburg holte abermals das Double. In der Saison 2022/23 kam der Offensivmann erneut auf 21 Ligaeinsätze, in denen er nach einem schwachen Frühjahr ohne Treffer schlussendlich auf sieben Tore kam. In der Champions League zeigte er erneut mit drei Toren in sechs Einsätzen auf, Salzburg scheiterte aber diesmal in der Gruppenphase. In jener Spielzeit wurde Salzburg zwar Meister, im Cup scheiterte der Klub aber bereits im Viertelfinale. Mitte April 2023 zog sich Okafor beim 0:0 gegen den LASK einen Bruch des rechten Mittelfussknochens zu und verpasste den Rest der Saison.[6]
Zur Saison 2023/24 wechselte Okafor nach Italien zur AC Mailand, bei der er einen bis 2028 laufenden Vertrag erhielt.[7]
Nationalmannschaft
Noah Okafor spielte für die U15- und U17-Nationalmannschaft sowie für die U18- und die U19-Auswahl der Schweiz. Am 9. Juni 2019 bestritt er seine erste Partie für das A-Team beim Spiel um Platz 3 der UEFA Nations League 2018/19 gegen England (5:6 i. E.).[8] 2022 wurde er in den Schweizer Kader für die WM berufen. Beim Turnier kam er dreimal als Joker zum Einsatz, mit der Schweiz erreichte er das Achtelfinale.