Valenciennes withstood relentless Rennes pressure to clinch a 1-0 victory at the Stade du Hainaut.
Gael Danic scored from the spot after Vincent Aboubakar was fouled by Jean-Armel Kana-Biyek after 12 minutes.
Resolute defending proved vital to Valenciennes securing all three points, as Rennes had a hatful of shots blocked.
Valenciennes managed to hold on despite constant second-half pressure and move above Nancy and Lorient into 11th place in Ligue 1.