[6] Kali made his Utrecht debut on 24 April 2011, coming on as a substitute for Nana Akwasi Asare in the 84th minute, in a 4–2 win against Vitesse Arnhem.
[8] Kali then scored his first professional career, in a 6–4 win over Ajax on 6 November 2011 after sixteen minutes coming on as a substitute.
[11] Although he spent most of the season on the substitute bench and suffered ankle injury at some point in April 2012,[12] Kali went on to make twenty-three appearances and scoring once in all competition for the club.
[13] However at the start of the season, Kali was sent-off after a second bookable offense despite a good performance made, in a 1–0 win over PSV on 16 September 2012.
[17] As a result of turning down a contract extension, Kali was linked a move away from FC Utrecht, which other European clubs were interested.
[18] Amid the transfer speculation, Kali then scored his first goal of the season, in a 3–1 win over Willem II on 27 January 2013.
[24] At the end of the 2012–13 season, having made thirty appearances and scoring once in all competition, Kali left the club in the summer of 2013 on a free transfer to join a stronger team.
[35] Kali made his FC Utrecht return in the opening game of the season, in a 2–0 loss against PEC Zwolle.
[50] He made his debut for Willem II on 21 February 2016, coming on as a substitute in the 71st minute, in 2–1 loss in an away game against FC Utrecht.
[54] At the end of the 2015–16 season, having made six appearances for the side, it was announced that Kali signed a contract with the club, keeping him until 2018.
It was announced on 31 July 2017 that Kali joined FC Utrecht for the third time, signing a two–year contract and Willem II received an undisclosed fee.
[65] It wasn't until 9 February 2018 when he returned from injury, starting the match for the reserve side, in a 5–2 win over RKC Waalwijk.
[66] He didn't make his first team return from injury on 25 February 2018, coming on as a late substitute, in a 3–1 win over FC Twente.
[70] Since joining the club, Kali found himself competing in a midfield position with Gianluca Nijholt and Arno Verschueren.
[76] But he was then recalled to the starting eleven for the rest of the season, as the club, however, unsuccessfully fought for relegation to stay in the league.
Ahead of the 2019–20 season, Kali was told by NAC Breda that he can leave the club after he's no longer in the first team plan under the management of Ruud Brood.
[78] Kali was born in the Netherlands to parents of Moroccan descent, and has represented the Morocco national under-23 football team.