It looked like the match would be heading to extra time, but Abdoulaye Ba turned the ball into his own net while trying to defend some late pressure from the visitors, giving Bordeaux the win.
Lille had to come from behind to secure their place in the next round.
A goal in each half against Rodez AF was enough for Montpellier to progress in the competition. Teddy Mezague blasted the top-flight side ahead early on, before an M'baye Niang penalty clinched the win for the visitors.
A fine strike from Didier Digard put the visitors ahead just eight minutes into the tie, but Nantes fought hard as they searched for an equaliser, before being stunned by Bruls' late effort.
2009 champions Guingamp proved too strong for third-tier side Bourg-Peronnas. Claudio Beauvue and Mustapha Yatabare both found the target in the first half, which was enough to see the Ligue 1 side through.
Eduardo sealed the win with a powerful strike from the edge of the box just before the hour mark.
Paris Saint-Germain had been due to face Brest, but their match was postponed because of bad weather conditions.
Results in full: Bourg-Peronnas 0-2 Guingamp, Bastia 1-0 Evian, Brest P-P Paris Saint-Germain, La Suze 1-6 Lyon, Nantes 0-2 Nice, Raon-l'Etape 1-2 Bordeaux, Rodez Aveyron 0-2 Montpellier, Amiens 1-3 Lille, Quimperle 1-2 Ajaccio