Tal Ben Haim's own goal brought Bolton's first European adventure to an end as Marseille snatched a place in the last 16 of the Uefa Cup.
Marseille defender Habib celebrates his side's winner
Greek midfielder Stelios Giannakopoulos gave the Trotters the lead after former Manchester United keeper Fabien Barthez had dropped a Jay-Jay Okocha cross.
Franck Ribery headed an equaliser on the stroke of half-time to give the French side hope.
And the Trotters were sunk when Ben Haim turned a cross into his own net.
After a goalless draw at the Reebok Stadium, Bolton's quest for a place in the last 16 looked like a tough one - but that did not stop them taking the game to their opponents in the opening stages.
The French fans, who had assembled at the Stade Velodrome expecting a comfortable passage for their team, were stung by Barthez's error, which arrived in the 25th minute.
Okocha's cross did swing out at the far post after tempting Barthez off his line but there was still no excuse for the keeper's gaze leaving the ball.
It slipped from his grasp and fell conveniently for Giannakopoulos, who performed the simplest of finishes to give Wanderers a vital away goal.
The Greek midfielder did not quite catch a volley cleanly enough when presented with a good opportunity shortly afterwards and, as Abdoulaye Faye's effort was ruled out for offside, there seemed little to trouble the visitors.
However, they were unable to see the game out until half-time and gave their opponents half a chance when they conceded in first-half injury-time.
Samir Nasri pounced on a mistake by Bruno N'Gotty and hit a cross to the far post where the impressive Ribery managed to nip between two defenders and plant a header into the corner.
Spurred on by their vociferous followers, Marseille pressed forward and it was no surprise they had the lion's share of the second period.
However, they needed a bit of good fortune to put themselves into the driving seat.
Habib Beye managed to take the ball away from Giannakopoulos's attentions and hit a wicked cross from the right and Ben Haim was only able to guide it past his own goalkeeper.
Henrik Pedersen leaving the field on a stretcher in the closing stages confirmed a miserable evening for Sam Allardyce, who had watched the game from the stands despite nursing a chest infection.
Marseille will now take on Russian side Zenit St Petersburg in the next round.
Marseille: Barthez, Taiwo, Ferreira (Deruda 66), Dehu, Meite, Beye, Oruma, Cana (Civelli 90), Nasri, Ribery (Cantareil 80), Niang.
Subs Not Used: Carrasso, Andre Luis, Gimenez, Begeorgi.
Booked: Beye, Cana.
Goals: Ribery 45, Ben Haim 68 og.
Bolton: Jaaskelainen, N'Gotty, Gardner, O'Brien, Ben Haim, Nolan, Speed (Vaz Te 84), Giannakopoulos, Okocha, Faye (Pedersen 73), Davies, Pedersen (Borgetti 87).
Subs Not Used: Walker, Hunt, Jaidi, Nakata.
Booked: Faye, Nolan.
Goals: Giannakopoulos 25.