Saint-Etienne kept pace with fourth-place Nice in the race for a European spot by routing bottom side Nancy 3-0 in the French league on Saturday.
Striker Brandao gave Saint-Etienne the lead in the 17th minute before forward Pierre-Emerick Aubameyang made it 2-0 in the 40th.
Both teams were down to 10 men in the second half. Saint-Etienne midfielder Fabien Lemoine was sent off in the 64th for a foul on Vincent Muratori and Nancy forward Florent Zitte was ejected for a tackle on Jonathan Brison in the 77th.
Aubameyang put the result beyond doubt by notching his 14th goal in the 89th.
"We were efficient. We converted our chances. That's how we made the match easy for us,'' Saint-Etienne defender Francois Clerc said. "We know that if we want to finish in the top spots, we'll have to be consistent and rack up a lot of points.''
Saint-Etienne has the best record in the league since the winter break with five wins and two draws. It sits in fifth place just one point behind Nice, which beat Reims 2-0 on Friday.
Also, it was: Rennes 2, Sochaux 2; Evian 0, Montpellier 1; Ajaccio 1, Lille 3; Valenciennes 0, Toulouse 0; and Troyes 0, Bastia 0.
Rennes lost ground in the race for a European spot and trails Nice by four points.
Riding the momentum of its 3-2 win over leader Paris Saint-Germain last weekend, Sochaux opened the scoring in the 21st minute when striker Giovanni Sio slid home a low cross from Cedric Bakambu. Rennes defender John Boye headed in a free kick from Julien Feret to level in the 34th.
But the visitors recaptured the lead with a wonder goal from Sebastien Corchia in the 56th, as the Sochaux full-back cut inside to fire a curling shot into the top corner. Jean Makoun salvaged a point for Rennes with a low strike from close range in the 88th.
"We're a bit frustrated because we really had the opportunity to come away with the victory, given all the chances we had in that match,'' Sochaux goalkeeper Simon Pouplin said. "But we still got a point at Rennes. There are not many teams that did that.''
Rennes goalkeeper Benoit Costil denied Bakambu in the 70th and the 72nd.
Montpellier kept alive its hopes of a European spot by going level on points with Rennes. Playmaker Younes Belhanda controlled a cross from Anthony Mounier to score the winner in the 81st for the defending champion.
Lille also climbed up the standings. It had a bit of luck to take the lead at Ajaccio as defender Yoann Poulard diverted into his own net a low cross from Lille left-back Lucas Digne in the 38th.
Digne was then red-carded in the 60th for a violent tackle on Ajaccio right-back Matthieu Chalme.
Despite its numerical inferiority, Lille doubled the lead when Dimitri Payet capitalized on two counterattacks to score in the 67th and 74th.
Ajaccio winger Chahir Belghazouani scored a consolation goal in the 77th.
Paris Saint-Germain tops the standings with a three-point lead over Lyon. The Parisian club will host third-place Marseille on Sunday while Lyon faces Lorient and Bordeaux plays Brest.