OM's victory means Paris Saint-Germain cannot officially win the title on Sunday when they face Valenciennes, but a win will put the Parisiens nine points clear with three games remaining, with Carlo Ancelotti's men boasting a vastly superior goal difference.
Andre-Pierre Gignac gave Marseille the lead in the first half, but Florian Thauvin equalised within a minute of the start of the second.
But with nine minutes to go Gignac earned his side victory, with defeat leaving Bastia in mid-table.
Lille's bid for a top-four finish suffered a blow as they suffered a 4-2 defeat at the hands of Toulouse.
Lille had not lost to Toulouse in their last 10 league encounters but that run came to an end at the Municipal Stadium as they slipped two points behind fourth-placed St Etienne.
Ben Yedder and Etienne Didot put improving Toulouse 2-0 up in the first half but Lille hit back to draw level just after half-time through goals from Marko Basa and Salomon Kalou.
The visitors could not build on that fightback, though, and Toulouse claimed the win thanks to efforts from Daniel Braathen and Eden Ben Basat.
At the other end of the table Brest dropped to the bottom of the league following a 2-1 loss at Montpellier.
Marco Estrada opened the scoring for the home side but Florian Raspentino quickly equalised before Souleymane Camara's second-half penalty handed Montpellier victory.
Brest, who have 29 points, are now six adrift of 17th-placed Nancy, who face Lyon tomorrow.
Troyes leapfrogged Brest in the table as they claimed a vital 1-0 win at home against Evian.
Jean-Christophe Bahebeck's goal four minutes after coming on earned the victory which leaves the hosts three points behind their opponents, who occupy the final relegation place, and four from safety.
Sloan Privat's first-half goal allowed Sochaux to register what could prove to be a vital win in the battle to avoid the drop.
The striker scored with 30 minutes on the clock and, with Lorient unable to respond, Sochaux moved out of the drop-zone and on to 37 points.
Reims and Ajaccio both missed the chance to pull further away from the relegation zone after they played out a 1-1 draw at the Stade Auguste Delaune II.
Adrian Mutu scored the opening goal for Ajaccio in the 25th minute, but the scores were level at half-time, which is how they remained, thanks to Aissa Mandi's headed equaliser.
Both teams are now five points clear of 18th-placed Evian.