Ligue 1: Toulouse 1 Bastia 3
The Corsican outfit produced a fine performance to seal a third victory in four league matches that moves Frederic Hantz's men up to 10th in the table.
Striker Djibril Cisse opened the scoring for the visitors with his first Bastia goal after 11 minutes, the former Liverpool and Marseille man converting from Romaric's pass.
However, Toulouse levelled on 25 minutes as Israeli striker Eden Ben Basat headed home from Martin Braithwaite's cross.
Bastia's advantage was restored in first-half injury time, though, defender Francois Modesto heading in his second goal of the campaign.
Toulouse's task was made even harder in the 73rd minute when midfielder Clement Chantome was sent off for a second bookable offence.
And Bastia duly made sure of the points with Gianni Bruno's penalty in the second minute of stoppage time after Ben Basat had felled Wahbi Khazri.
Toulouse stay in 12th despite the defeat, which leaves them without a win in their last four league outings.