Former Monaco defender Cedric Mongongu's 82nd-minute penalty proved the difference after Ricardo Carvalho was penalised for handball.
Evian had already beaten champions-in-waiting Paris St Germain and Lyon in Annecy this season and their latest giant-killing lifted them five points above the relegation zone.
That result dealt a blow to Sochaux's hopes of survival.
Earlier in the day defender Stoppila Sunzu had put second from bottom Les Lionceaux on the brink of victory over Marseille with a 25th minute goal.
However, their seventh league win of the season was snatched away in the 90th minute by Marseille defender Nicolas N'Koulou.
Jonathan Zebina missed a stoppage time penalty which could have claimed a come-from-behind win for Toulouse at rock bottom Ajaccio.
Zebina saw his shot saved by goalkeeper Guillermo Ochoa in the third minute of added time as the match ended in a 2-2 draw. Ricardo Faty and Mehdi Mostefa had the home side in control before Issiaga Sylla and Clement Chantome hit back.
Vincent Aboukar scored a first-half penalty as Lorient halted a two-match losing streak with a 1-1 draw at Reims.
The visitors took the lead through Aboukar's penalty in first-half stoppage time before Odair Fortes struck back four minutes after the break for the hosts.
Nantes and Bordeaux battled out an uninspiring 0-0 draw at the Stade de la Beaujoire, while Montpellier's match against relegation-threatened Valenciennes also finished goalless.