Monaco nearly guaranteed title after rout; Nice top 3, Lyon nab Europa spot
Monaco have all but sealed their first Ligue 1 title since 2000 after beating Lille 4-0 at Stade Louis II.
Radamel Falcao struck his 26th and 27th goals of the season in either half and Bernardo Silva was also on target in the first period, while Junior Alonso's late own goal rounded off the scoring.
Closest rivals Paris Saint-Germain won at St Etienne to stay three points adrift with one game to play, but Monaco have a vastly superior goal difference.
Monaco, knocked out of the Champions League by Juventus in midweek, need only a point from their remaining two games to rubber-stamp their first French crown in 17 years and halt PSG's four-year domestic dominance.
Leonardo Jardim's side, who play their game in hand against St Etienne at home on Wednesday, eased early nerves against Lille by taking a sixth-minute lead through Radamel Falcao's header.
Bernardo Silva made it 2-0 on the stroke of half-time and Falcao added his 27th goal of the season in all competitions in 69th minute before Junior Alonso put the ball in his own net in the closing stages.
Edinson Cavani scored his 46th and 47th goals in all competitions this season as PSG brushed aside St Etienne 5-0.
Lucas Moura also scored in each half, while Julian Draxler added a last-minute fifth for the Parisiens, whose final game is at Angers next week.
Nice, guaranteed a top-three finish, came unstuck in a 2-0 home defeat to Angers, for whom Cheikh Ndoye was on target in the first half and Karl Toko Ekambi scored deep in stoppage time.
Lyon clinched a fourth-placed finish and the last Europa League spot thanks to their 3-1 win at Montpelier.
Nabil Fekir and Alexandre Lacazette gave Lyon a 2-0 half-time lead and although Steve Mounie pulled one back for Montpelier before the break, Lacazette added his second in time added on.
Marseille had harboured hopes of catching Lyon, but they had to settle for a 1-1 draw at Bordeaux, where they trailed to Diego Rolan's early goal before Bafetimbi Gomis' second-half equaliser.
Bastia kept alive their survival hopes heading into the final day next week with a 2-0 home win against relegation rivals Lorient, thanks to late goals from Enzo Crivelli and substitute Gael Danic.
Dijon climbed out of the bottom three as they won 2-0 at home against Nancy, who slipped to the foot of the table.
Second-half goals from Frederic Sammaritano and Lois Diony clinched Dijon their second win in 12 league matches and left Nancy needing to win their final game while hoping both Bastia and Lorient lose in order to make the relegation playoff.
With no team relegated on the penultimate day, Caen are looking anxiously over their shoulders after losing 1-0 at home to Rennes.
Giovanni Sio struck midway through the second half for Rennes and defeat for Caen has left them two points above second-bottom Bastia.
Ismaila Sarr fired a second-half equaliser to earn Metz a 1-1 home draw against Toulouse, who had taken an early lead through Martin Braithwaite and Nantes beat Guingamp 4-1 in their last home game of the season.
Adrien Thomasson gave Nantes a first-half lead and second-half goals from Emiliano Sala and Prejuce Nakoulma put them in control.
Lucas Deaux replied for Guincamp, but Sala added his second to secure Nantes' third win in four matches.