Dimitri Payet produced a sensational late goal to ensure tournament hosts France started Euro 2016 with a 2-1 win over Romania.
The game seemed to be headed for a draw after Bogdan Stancu's penalty levelled Olivier Giroud's opener, but Payet sent the Stade de France into raptures with an 89th-minute winner.
Romania should have been in front inside four minutes. Nicolae Stanciu floated a corner in from the left, it was flicked on and fell to Stancu completely unmarked in the six-yard area -- but he somehow shot straight at Hugo Lloris with the goal at his mercy and France scrambled it behind for another corner.
Florin Andone got to the corner first, but his header only looped onto the roof of the net.
It was France's turn to be on the attack in the 10th minute, Giroud heading inches wide after Payet had crossed to the near post.
France were improving, Antoine Griezmann heading against the post after reacting to a loose ball in the 14th minute.
But although the host nation were on top, Romania managed to quieten them down and it wasn't until just before the half hour that they next had an effort -- Paul Pogba shooting well over from distance.
Griezmann then got on the end of a Payet cross in the 37th minute and it flashed just wide. Replays suggested to took a definite deflection off a defender but a goal-kick was given, met by jeers from the home crowd.
France continued to struggle to create, despite enjoying the lion's share of possession and Romania seldom looking to attack, and the two teams went in level at the break after Giroud could not keep his header down in added time.
Romania started the second half just as they began the first, on the front foot trying to catch France cold. And Stanciu had a brilliant chance to score in the 48th minute, his acrobatic effort flying wide when he had got in advance of the last defender and the flag stayed down.
France's first chance after the interval again fell to Giroud in the 52nd minute, his snap shot straight at goalkeeper Ciprian Tatarusanu who made his first save of the game.
Tatarusanu was called on again minutes later to keep out Pogba. Payet cut back inside leaving his defender on the deck and picked out the unmarked Pogba on the edge of the box, and the Juventus midfielder's drilled shot was beaten away by the keeper.
France finally took the lead in the 57th minute, and Giroud made amends for his misses. Payet was again the architect, crossing from the right flank, and the Arsenal striker got there before Tatarusanu to head into an empty net. The goalkeeper claimed he was fouled but in truth he wandered into no man's land and Giroud was probably one step ahead.
Andone headed over shortly after the restart, Giroud furious with the defence for leaving him unmarked so soon after he had broken the deadlock.
But the lead didn't last long as Romania equalised in the 65th minute. Patrice Evra was adjudged to have tripped Stanciu in the area, and Stancu made no mistake in sending Lloris the wrong way from the penalty spot.
Ovidiu Hoban had an ambitious effort 10 minutes from time but it went way over Lloris' goal, before substitute Anthony Martial hit a tame shot straight at Tatarusanu.
But just as it looked like France had run out of ideas, Payet produced a stunning winner in the 89th minute. He created space for himself just outside the box before curling a superb left-footed effort into the top corner of the net.
Moussa Sissoko burst clear in added time looking for third but smashed a shot well wide from the edge of the box.