The Ivory Coast forward netted after 20 minutes and wrapped up the win in the 77th with his 13th goal of the season after Dimitri Payet had doubled the lead just after the interval.
Lille have 60 points with two games left and are three behind Lyon, who are in the third and final Champions League spot before they host leaders Paris St Germain on Sunday.
Lille are level on points with fifth-placed Nice and one ahead of St Etienne who respectively visit third-bottom Evian Thonon Gaillard and mid-table Lorient on Sunday.
PSG, who have a seven-point lead with 74, could be crowned champions before the trip to Lyon if second-placed Marseille lose at home to mid-table Toulouse on Saturday.
Lille dominated 15th-placed Stade Reims although they looked uncertain at the back with goalkeeper Barel Mouko, 34, playing his first Ligue 1 game in place of Steeve Elana, who was dropped after conceding seven goals in the last two league games.
"I took the decision after discussing the issue with the players this week. Steeve was not ready to play that kind of game with a lot of pressure," Lille coach Rudi Garcia told the club's official website.
Lille avoided the sort of mistakes that cost them victory at home to strugglers Sochaux two weeks ago when they drew 3-3 after conceding three late goals.
"We fought hard to take part in the (European qualifying) race. We almost wasted it all in 12 minutes against Sochaux. But we've learnt from that game," Payet told TV channel beIN Sport. "Unfortunately, we're not completely in control of our destiny."
Lille forward Ronny Rodelin missed a couple of early chances, putting a header just wide after five minutes and somehow failing to tap the ball into an empty net two minutes later after a neat pass from Franck Beria.
However, Rodelin made amends when he diverted a long pass into Kalou's path and the former Chelsea forward skipped past goalkeeper Kossi Agassa to open the scoring.
Lille continued to push forward after the break and were rewarded when Payet fired home from the edge of the box. Kalou then missed the target with a header near the hour mark before being left unchallenged to net his fifth goal in three matches.