Ligue 1 Wrap: Baradji stars in Ajaccio fightback
Valenciennes looked set to move out of the relegation zone when Ghana striker Majeed Waris put them 2-1 ahead from the penalty spot after Benjamin Andre had cancelled out his earlier strike.
However, there was a dramatic twist in the tale as 18-year-old attacker Baradji - a product of the club's youth system - came off the bench to turn the game on its head in the final minutes.
First, the teenager levelled matters with a fine strike past Valenciennes goalkeeper Magno Novaes in the 87th minute and then he sealed a remarkable victory three minutes later by heading home Paul Lasne's right-wing cross.
The result saw Valenciennes miss the chance to leapfrog 17th-placed Evian, who fought back to claim a 1-1 draw at Toulouse thanks to some late drama of their own.
Tunisian forward Wissam Ben Yedder had put Toulouse in front after 56 minutes, only for Clarck N'Sikulu to net an 89th-minute equaliser.
Rennes are now six points above the relegation zone after dealing another blow to Marseille's fading European hopes with a 1-0 win at the Stade Velodrome.
The visitors scored the winner 14 minutes from time as midfielder Abdoulaye Doucoure confidently finished off an excellent Rennes counter-attack that involved Jonathan Pitroipa, Jean Makoun and Nelson Oliveira.
Nantes won their first league game in 10 attempts as Michel Der Zakarian's men overcame nine-man Montpellier 2-1 in an ill-tempered affair.
Nantes surged ahead thanks to goals from Serge Gakpe and Koffy Djidji, who then put through his own net to hand Montpellier a lifeline, which was taken away when Joris Marveuax was dismissed in first-half injury time for a rash challenge on Lucas Deaux.
Montpellier then had another man sent off seven minutes from time when defender Daniel Congre conceded a penalty for bringing down Alejandro Bedoya, although Itay Shechter missed the resulting spot-kick.
Elsewhere, Bastia held on for a 2-0 win over Reims despite the dismissal of Sambou Yatabare, while Alexy Bosetti's equaliser secured a 1-1 draw for Nice against a Bordeaux team that had Abdou Traore sent off.