Zulte-Waregem edged past Leuven 1-0 to move into second spot in the Jupiler League. Substitute Jens Naessens scored the only goal six minutes from time as the visitors closed the gap on leaders Club Brugge to four points.
Anderlecht slipped down to third following a 1-1 draw at Lierse. The visitors looked to be on course for their fourth win of the season when Kanu struck after 12 minutes, but Dolly Menga replied for Lierse three minutes from time.
Gent also lost ground on the leaders with a 2-0 defeat at home to Mechelen, who scored through David Destorme (45) and Alessandro Cordaro (89).
Cercle Brugge remain winless and stuck to the bottom of the table after Koen Persoons' 54th-minute strike condemned them to a 1-0 loss at home to Lokeren.
Charleroi held on for a 3-2 win at Mons in an incident-filled match. Herve Kage's seventh-minute opener for Charleroi was cancelled out by Tom Van Imshoot a minute later, but the visitors' lead was restored by Harlem Gnohere after nine minutes.
Ziguy Badibanga then made it 3-1 after 18 minutes, before Mons threatened a comeback with Mustapha Jarju's 55th-minute effort. However, the dismissal of Peter Franquart five minutes from time eventually gave Charleroi some breathing space.
Gal Shish earned Waasland-Beveren a 1-1 draw at Genk, who had taken the lead through Jelle Vossen.