Olivier Giroud put France ahead in the 58th minute only for Romania to equalise through Bogdan Stancu’s penalty seven minutes later.
The match was destined to a draw till Payet scored with a superb long range shot in the 90th.
France and Romania were locked 0-0 at halftime at the Stade de France. French striker Antoine Griezmann had the best chance of the first 45 minutes when he hit the post with a header. The Atletico Madrid star hit the woodwork in the 14th minute in their Group A match.
Full back Bacary Sagna curled in an inviting cross from the right flank that deflected off Romania defender Vlad Chiriches into the path of Griezmann. Griezmann missed to provide the finishing touches to the cross in his first attempt and then saw his header from close crash onto the post.
Griezmann had another good opportunity from Payet’s cutback pass but his effort went wide. France were more threatening, with Griezmann’s strike partner Olivier Giroud directing two headers wide.
But they couldn’t break through a resolute Romanian defence that only conceded twice in their 10 qualifiers. However, it was Romania who were quicker off the blocks nearly scoring in the fourth minute.
The hosts were rescued by captain, goalkeeper Hugo Lloris, in the fourth minute, who blocked Bogdan Stancu’s close-range shot from goal line.
France made the breakthrough when Giroud rose highest to meet Payet’s cross helped by a big misjudgement from the Romanian goalkeeper who came off the line and missed the flight of the ball.
France were primed to build on during the closing stages but the hosts gave away a penalty after Patrice Evra clattered into Nicolae Stanciu.
Stancu kept his cool and sent Lloris the wrong way to draw the Romanians level with 25 minutes left on the clock. France seemed to have been held to a frustrating draw until Payet curled home a superb effort to shape the outcome.