Djamel Bakar put the away side ahead just before the quarter hour in the all-Ligue 1 clash in Rennes, but Romain Alessandrini equalised two minutes later.
A brace from Mevlut Erding put daylight between Rennes and their guests, but Benjamin Moukandjo’s 84th-minute strike made for a nervy finish as Frederic Antonetti’s side held on.
Top-flight new-boys Bastia eased to a comfortable 3-0 win over Metz, the former giants who were relegated to the third division last season.
A double from Toifilou Maoulida sandwiched a goal from Anthony Modeste as Frederic Hantz’s side sealed easy passage to the last 16.
Auxerre, who were relegated last season, cruised to a 2-0 win over fellow Ligue 2 side Angers thanks to a first-half goal by Paul Madiba and a second-half penalty from Terence Makengo.
There are seven more Coupe de la Ligue matches on Wednesday, with stand-out clashes seeing Lorient face Saint-Etienne and fallen giants Monaco host Valenciennes.
The likes of Paris Saint-Germain, Lille, Lyon, Bordeaux, league champions Montpellier and holders Marseille do not enter the draw until the last 16 as they are given byes for featuring in European competition.