Troyes picked up only their fifth win of the Ligue 1 season at Rennes but remained bottom of the overall standings despite earning three valuable points.
Following on from their Coupe de France quarter-final win over Nancy, Troyes took control after Jean-Christophe Bahebeck and Jeremie Brechet both scored ahead of Rennes midfielder Julien Feret's 30th-minute penalty to seal a much-needed win.
The result means Troyes are now six points from safety with five league games remaining, including matches against fellow strugglers Ajaccio and Evian.
It was a perfect start for Troyes at the Stade de la Route de Lorient when Bahebeck put them ahead in the fourth minute.
Rincon started a counter-attack from the heart of defence and combined with Stephane Darbion and Chris Mavinga, who managed to free striker Bahebeck for a low drive into Benoit Costil's net.
Minutes later, the Rennes goalkeeper was forced to make a superb reflex save to deny a confident Troyes side their second from a dangerous Fabien Camus free-kick.
Benjamin Nivet tested the stopper again with a low strike on the 20-minute mark as the visitors dominated the early play, and they did not have to wait long to double their lead as the unmarked Brechet beat Costil with a header six minutes later.
It was Camus again who delivered a testing 30-yard free-kick, finding Brechet at the near post who buried the ball without hesitation.
Feret pulled one back from the penalty spot on the half-hour mark after Rincon handled the ball in the area, and it proved to be Rennes only real sight of goal, bar a Jonathan Pitroipa strike midway through the second half.
Troyes then missed the chance to add a third in stoppage time after Rennes defender Mavinga gave away a penalty for handball, with Camus' spot-kick being saved by Costil.