El Kaddouri joined Dynamo Kiev in 2002, and up until his loan move to Celtic in 2011 was one of the longest serving players at the club. He made his debut with Dynamo on 17 August 2002 in a 3-1 victory over Volyn Lutsk. While with the club he captured four Ukrainian Premier League titles, four Ukrainian Cup's and five Ukrainian Super Cup's. He appeared in 123 league matches for the club while occasionally captaining the team.
On 31 August 2011, El Kaddouri signed for Scottish Premier League club Celtic on a six-month loan deal with an option to buy. He is the first ever Moroccan to play for Celtic. He was brought in as cover for Emilio Izaguirre, who had received a long-term injury. On 10 September 2011, El Kaddouri made his Celtic debut in a 4–0 over Motherwell. He scored his first goal for Celtic in the Old Firm derby match against Rangers on 18 September 2011. Badr made 6 appearances for the Scottish side before returning to Dynamo Kiev in January 2012.