With St Etienne riding high in second place before this match and Toulouse struggling at the other end of the table, Romain Hamouma's opening goal after 18 minutes had an inevitable feeling about it.
But instead of pushing on, St Etienne squandered a string of chances and paid the price as Martin Braithwaite levelled just after the hour mark before Issiaga Sylla struck what proved to be the winner.
Hamouma scored with the first clear chance of the match in the 18th minute, largely the work of Fabien Lemoine, who beat three defenders before curling a shot towards goal. Hamouma had the simple task of tapping in the rebound after Ali Ahamada could only parry.
Further chances soon followed for the hosts, but Lemoine sent an effort inches wide after Ahamada's punch again fell kindly, this time from a Faouzi Ghoulam free-kick. Sylla then gave away possession in a dangerous area, getting away with it as Moustapha Bayal Sall's fierce drive whistled past the post with the goalkeeper beaten.
Mevlut Erding then skimmed the upright with a shot from the edge of the area after being teed up by Francois Clerc.
Toulouse gave a warning of what was to come when Stephane Ruffier needed his fingertips to turn Aymen Abdennour's speculative effort away for a corner, but when the half-time whistle blew, St Etienne looked destined for top spot. It all changed after the break as Toulouse dominated the second half.
Clement Chantome found the side-netting from an angle and moments later, Ruffier had to make an excellent reflex save to keep out Sylla's volley. The goal duly arrived in the 63rd minute when a poor clearance from Ruffier gave Etienne Didot room to tee up Braithwaite for a close-range finish.
Twelve minutes later Sylla turned in Didot's cross to stun the home crowd. Erding was denied an equaliser by Ahamada with 10 minutes left and Toulouse escaped with three welcome points.