Ligue 1 leaders Paris St Germain eased through to the last 16 of the Coupe de France with a 3-1 win over Toulouse.
Kevin Gameiro put the high flyers ahead after nine minutes, a lead which lasted just eight minutes as Franck Tabanou levelled. Second-half goals by Javier Pastore (49) and Ezequiel Lavezzi (66) guided PSG into the last 16.
St Etienne were pushed all the way by CS Meaux before prevailing 5-3 on penalties despite the hosts having to play with 10 men for much of the match after Ndikpo was sent off seven minutes before half-time.
Nancy moved overcame fancied Nice on penalties after a 2-2 draw. Nice are fourth in Ligue 1 and they took the lead against bottom side Nancy through Alexy Bosetti after seven minutes.
However, the visitors went ahead through Paul Alo'o Efoulou's double (23, 57) only for Dario Cvitanich to equalise in the last minute and make it 2-2. The teams could not be separated in extra-time and Nancy showed all their character, despite having been denied victory over 90 minutes, to win 4-2 on penalties.
Nancy have won just once in the league this season but the cup seems to be offering light relief.
An extra-time winner from Yassin Mikari saw Sochaux to a 3-2 win at Montpellier. Gaetan Charbonnier put the hosts ahead (16) before Roy Contout levelled two minutes before half-time.
Mathieu Deplagne then put Montpellier ahead (51) only for Cedric Bakambu (79) to send the game into an extra 30 minutes with Mikari's winner coming 12 minutes from penalties.
Bordeaux won 2-1 at AS Moulins. Sebastien Ligoule put the hosts ahead after just four minutes but Benoit Tremoulinas (52) and David Bellion (61) guided the Ligue 1 side to victory.
Lens won 3-0 at Bordeaux State thanks to goals by Pierrick Valdivia (25), Jeremie Bela (53) and Yoann Touzghar (59).
Brest won 3-1 at Bastia CA. Alassane N'Diaye put the hosts ahead (62) but Johan Martial equalised six minutes later.
Charlison Benschop put the Ligue 1 side in front with eight minutes remaining, Eden Ben Basat then completed the scoring with a minute left.
AS Minguettes beat Le Poire SV 4-3 on penalties after the game ended 0-0 and a Hassan Benkajjane strike (18) was enough to see Raon-l'Etape through against Istres who were reduced to 10 men with six minutes left when Fabien Barillon was sent off.
Information from the Press Association was used in this report