St Etienne missed the chance to climb above third-placed Marseille as they had to settle for a point at Rennes.
Goals from Romain Danze and Julien Feret put Rennes into the lead twice, but Yohan Mollo and the in-form Pierre-Emerick Aubameyang pegged the hosts back.
Having won just once in their last six Ligue 1 games before tonight, Rennes knew they faced a stiff challenge against a St Etienne side that had claimed six victories out of seven and would have strengthened their claims for a Champions League place next season with another. Instead, St Etienne now stand a point behind Marseille, who face second-placed Lyon on Sunday.
The hosts thought they had make a perfect start inside the first five minutes when John Boye scored from a Feret free-kick but the Ghanaian defender was pulled up for a foul on Stephane Ruffier in the St Etienne goal.
Aubameyang went close soon after but, after being picked out by Mollo, the Gabonese striker's effort was kept out superbly by a Benoit Costil diving save.
Jonathan Pitroipa was a whisker away from opening the scoring for Rennes on the quarter-hour mark but his goal-bound shot was hacked off the line by Moustapha Bayal Sall after the winger had got beyond Ruffier.
Aubameyang continued to make a nuisance of himself, and when Benoit Costil failed to deal with a corner the striker's effort missed the frame of the goal by inches.
The action continued to go to-and-fro and Mevlut Erding found space in the St Etienne area shortly before the break but the Turkish player's header from Pitroipa's delivery failed to test Costil.
Rennes got their reward in the 43rd minute when Danze broke the deadlock. John Boye powered a Feret corner goalwards and full-back Danze was on hand to score a simple header from close range.
St Etienne offered a perfect response and drew level on the stroke of half-time. Aubameyang failed to control a long-ball but Mollo was on hand to smash a superb first-time effort beyond Costil from the left angle of the area.
Rennes restored their lead when Feret latched onto a Pitroipa ball in behind the visitors' defence and perfectly lobbed the advancing Ruffier to score within five minutes of the start of the second half.
Rennes wasted three opportunities to increase their lead with Feret and Danze guilty of missing the target from promising positions and Erding forcing a superb save from Ruffier with a first-time effort.
Rennes' wastefulness in front of goal proved costly when the visitors drew level for the second time in the 65th minute. Mollo forced his way into the area before gifting Aubameyang a point-blank finish at the far post - his seventh goal in seven games and the last of the game.