W czasach juniorskich trenował w RFC Evere, RUSA Schaarbeek,FC Brussels,RSC Anderlecht iStandardzie Liège[2]. W 2011 dołączył do seniorskiego zespołu tego ostatniego[2]. WEerste klasse zadebiutował 20 lutego 2011 w przegranym 1:4 meczu zKAA Gent[3]. Na boisku pojawił się w 82. minucie, zastępującFrancka Berriera[4]. W 2014 został uhonorowany nagrodąBelgijskiego Hebanowego Buta, przyznawaną najlepszemu piłkarzowi ligi belgijskiej, który ma afrykańskie korzenie[5]. Przed sezonem 2014/2015 odszedł do francuskiegoOlympique Marsylia, w którym występował w sumie przez dwa lata[2]. W tym czasie zagrał w 62 meczachLigue 1, w których zdobył 26 goli. Pierwszy mecz w tych rozgrywkach rozegrał 9 sierpnia 2014 zSC Bastia (remis 3:3), zmieniając w 79. minucieDimitri Payeta[6][7]. Po sezonie 2015/2016 był łączony z transferem do wielu klubów. Były to m.in. angielskieCrystal Palace,Tottenham Hotspur iWest Ham United oraz włoskiJuventus F.C.[8] Ostatecznie 3 lipca 2016 został piłkarzem londyńskiejChelsea[2] Kwota transferu wyniosła około 39 milionów euro[2]. WPremier League po raz pierwszy zagrał 15 sierpnia 2016 w wygranym 2:1 spotkaniu z West Hamem[9], wchodząc na boisko w zamian zaOscara w 85. minucie[10]. W sezonie 2016/2017 wraz z klubem świętował zdobycie mistrzostwa kraju. Chelsea zapewniła sobie tytuł, pokonując na wyjeździe 1:0West Bromwich Albion, zaś decydującą o mistrzostwie bramkę zdobył Batshuayi[11].
31 stycznia 2018 został wypożyczony za 1,5 miliona euro do 30 czerwca 2018 do niemieckiejBorussii Dortmund[2]. W swoim debiucie wBundeslidze przeciwko1. FC Köln zdobył dwa gole[12]. Mecz ten został rozegrany 2 lutego 2018 i zakończył się wynikiem 3:2 dla klubu zDortmundu[12].
W sezonie 2018/2019 był dwukrotnie wypożyczany: pierwszą połowę sezonu spędził wValencii, zaś drugą wCrystal Palace.
Od sezonu 2019/2020, po przejęciu drużyny przezFranka Lamparda ponownie reprezentuje barwy Chelsea. 23 października zdobył zwycięską bramkę w wygranym 1:0 meczuLigi Mistrzów UEFA zAjaksem.