Marseille Ghanaian striker Jordan Ayew
The game had been brought forward to give Marseille extra time to prepare for their vital Champions League game at Borussia Dortmund next Tuesday.
OM were seeking to build on last weekend's memorable 3-0 win at home to arch rivals Paris Saint-Germain and they took a 21st-minute lead when Andre Ayew tapped home after Morgan Amalfitano's deflected shot hit the bar.
A clumsy piece of goalkeeping from Steve Mandanda allowed the hosts to level just two minutes later, however.
The France goalkeeper felled Livio Nabad as he tried to gather the ball after fumbling a Romain Hamouma shot and Pierre-Alain Frau placed the ensuing penalty into the top-right corner to level the score.
Marseille re-established their advantage seven minutes into the second half following a break-neck counter-attack.
Souleymane Diawara cleared the ball from a Caen corner and then raced downfield to receive a pass from Lucho Gonzalez before squaring for Jordan Ayew to sweep home from 12 yards.
The game's closing stages saw Andre-Pierre Gignac make his Marseille return as a 77th-minute substitute, after he was dropped for the PSG game over a training ground row with OM coach Didier Deschamps.
His evening ended on a sour note, however, as he pulled up in injury time with what appeared to be a pulled muscle.
The win was only Marseille's second success away from home in Ligue 1 this season and took Deschamps' side above Lorient and Saint-Etienne to seventh, four points below the Champions League places. Caen remain 10th.
Leaders Montpellier can pull six points clear of second-placed PSG with victory at home to Lorient on Saturday.
Third-placed Lille visit bottom side Ajaccio on Saturday afternoon, with PSG hosting Auxerre on Sunday.