A stunning strike from West Ham's Dimitri Payet earned host nation France a 2-1 win over Romania in the opening game of Euro 2016 on Friday night.
Both teams squandered opportunities in the first half at the Stade de France before Olivier Giroud gave his side the lead with a brave header (57).
Romania struck back eight minutes later when Bogdan Stancu tucked away a penalty after Nicolae Stanciu was tripped by Patrice Evra in the box.
The visitors looked set to claim a draw, but Payet stepped up to curl home an 89th-minute winner to give Didier Deschamps' side the perfect start to the tournament.
Deschamps had opted for Antoine Griezmann, Giroud and Payet in attack, but it was France's opponents who threatened to score first.
Stancu latched on to a near-post flick and looked set to turn home from close range after just three minutes, but France goalkeeper Hugo Lloris denied the Romania forward with a reaction stop.
After the early scare the hosts soon settled into their rhythm, and Giroud headed wide before Griezmann rattled the post with a header.
The Atletico Madrid forward looked France's biggest threat in the first half, and went close again when his first-time shot from Payet's cross was deflected past the post.
Payet then picked out Giroud in first-half stoppage time only for the striker to guide his free header over the bar.
The West Ham midfielder's influence continued to grow after the break and he was instrumental in France finally unlocking a stubborn Romania defence.
His cross picked out Giroud, who headed into the empty net after Romania goalkeeper Ciprian Tatarusanu missed his punch.
But the visitors had clearly not read the script and were swiftly back on level terms. Hungarian referee Viktor Kassai pointed to the spot after Evra mis-timed his tackle on Stanciu, and his team-mate Stancu sent Lloris the wrong way from 12 yards.
Deschamps brought on Kingsley Coman and Anthony Martial as France went in search of their second, with midfield talisman Paul Pogba sacrificed.
The hosts had a half-hearted penalty appeal rejected when Giroud went down grappling with Vlad Chiriches, but Romania looked comfortable as stoppage time approached.
But Payet, who was France's best player throughout, found the top corner of Tatarusanu's net in the 89th minute to ensure a winning start for the host nation.
The match-winner left the field in tears after he was substituted deep into added time, clearly caught up by the emotion of the moment.
As for Romania, they impressed on their first European Championship appearance since 2008 but the two goals conceded at the Stade de France matched their entire total conceded over 10 qualification games.
France: Lloris, Sagna, Rami, Koscielny, Evra, Pogba, Kante, Matuidi, Griezmann, Payet, Giroud
Subs used: Coman, Martial, Sissoko
Romania: Tatarusanu, Sapunaru, Grigore, Chiriches, Rat, Hoban, Pintilii, Stanciu, Popa, Stancu, Andone
Subs used: Torje, Alibec,Chipciu
Man of the match: Dimitri Payet