Match ends, France 2, Romania 1.
Dimitri Payet's spectacular late winner gave hosts France victory over Romania in the opening match of Euro 2016 amid a huge security operation at the Stade de France.
On an emotional evening at the same venue where suicide bombers struck in the November attacks that killed 130 people across the city, Payet ensured the game ended on a high note with a sensational 20-yard strike.
France, who triumphed in their last two major tournaments on home soil - Euro '84 and the 1998 World Cup - are favourites to win this time too.
But after hitting the post early on through an Antoine Griezmann header, they struggled to find any fluency against a resolute Romania side, who also created good chances.
Les Bleus' star-studded attack had to wait until the 58th minute to make the breakthrough, when Olivier Giroud headed home Payet's cross.
Romania responded within seven minutes, with Bogdan Stancu scoring from the spot after Patrice Evra clipped Nicolae Stanciu inside the area.
A draw looked the most likely outcome until Payet capped a brilliant individual display with his wonder goal in the 89th minute.
The West Ham star apart, the hosts' performance was unconvincing but, for the whole of the France, the result mattered far more.
The perfect start for France
A win was the perfect start to a month of football which, it is hoped, can help to bring together a fractured country that will remain under a state of emergency for the duration of the competition.
The scale of the police presence outside the Stade de France on Friday was obvious, with two separate checkpoints where fans were searched and tickets checked, but the day passed without any serious security incidents in Paris.
Inside the stadium, the mood was set by a colourful opening ceremony followed by a stirring rendition of 'La Marseillaise' before kick-off but the game itself was far less entertaining.
Payet proves he is a star performer
Paul Pogba was billed as the star of this France team but it was Payet who was the outstanding performer against Romania.
This game will be remembered for his winning goal but he was also behind almost all of France's best moments going forward.
Before setting up Giroud's goal, he put chances on a plate for the Arsenal striker and Griezmann but both missed the target.
He made no such mistake himself but was overwhelmed with emotion soon afterwards, and was substituted in tears.
"At the start of the season, a lot of people would have found it hard to believe I would be here," said Payet after the game.
"I have got here by working hard. When I saw the stadium tonight I knew I was going to have fun."
Why did France's other players fail to shine?
Credit must go to Romania, who showed why they had the best defensive record in qualifying, but some France players were worryingly flat.
Pogba had a volley well saved by Ciprian Tatarusanu but failed to get his foot on the ball in midfield - and his side lacked a player who could dictate play from deep.
N'Golo Kante put in the kind of all-action display we are used to seeing from him for Leicester but, one swinging crossfield ball apart, did not open Romania up.
On top of the lack of balance in midfield, France were worryingly open at the back.
Their makeshift central defensive partnership of Adil Rami and Laurent Koscielny has played only two games together before this tournament and it showed.
Hugo Lloris rescued them with a brilliant early save from Stancu but better sides than Romania will be more ruthless in front of goal.
Man of the match - Dimitri Payet (France)
France manager Didier Deschamps said recently that "every time he touches the ball, something happens" and the West Ham star proved him right.
He was behind all of Les Bleus' best moments and looked like the only player capable of opening up Romania.
What they said
France manager Didier Deschamps: "It was a tricky match. Romania made it complicated - for the first 20-25 minutes we had a tough time of it. The opening match of a tournament is like playing in a cup final and we were a bit timid.
"But I put four attacking players on to go for the win and I am delighted for the players that they got it."
Former France striker Thierry Henry on BBC Radio 5 live: "Dimitri Payet thought he was going to the 2014 World Cup in Brazil. He was involved in every qualifying game but they took that away from him.
"Tonight you saw a man who was hurt. He was saying with that performance 'you didn't take me to the World Cup and I am going to show you'. He wanted every single ball. You can't win a game by yourself. but that strike... oh my gosh.
"No one is going to take what is happening to him now away from him. He showed tremendous desire. He was the one that drove the team forward."
The stats you need to know
- Romania have never won their opening game at a European Championship finals tournament (D3 L2).
- Romania conceded the same number of goals in this match (2) as they did in their entire Euro 2016 qualification campaign (2).
- Olivier Giroud has now scored eight goals in his last six starts for France.
- There has now been a penalty given in three of the last four European Championship finals opening games (2004, 2012 & 2016), with all of them coming against the host nation.
- Kingsley Coman became the youngest player to play for France in a major international tournament (aged 19 years 362 days).
The other teams in Group A, Albania and Switzerland, meet in Lens on Saturday - the same day England play Russia and Wales take on Slovakia in Group B.
France are back in action when they play Albania in Marseille on Wednesday evening. Romania stay in Paris, and take on Switzerland at Parc des Princes earlier the same day.
- 15PogbaSubstituted forMartialat 77'minutes
- 7GriezmannSubstituted forComanat 66'minutes
- 9GiroudBooked at 68mins
- 8PayetSubstituted forSissokoat 90+2'minutes
- 6ChirichesBooked at 32mins
- 3RatBooked at 45mins
- 20PopaBooked at 78minsSubstituted forTorjeat 82'minutes
- 10StanciuSubstituted forChipciuat 72'minutes
- 14AndoneSubstituted forAlibecat 61'minutes
- 23Lung Jr.
- Viktor Kassai
- Shots on Target
Second Half ends, France 2, Romania 1.
Attempt missed. Moussa Sissoko (France) left footed shot from outside the box misses to the left. Assisted by Blaise Matuidi following a fast break.
Foul by Moussa Sissoko (France).
Ovidiu Hoban (Romania) wins a free kick in the defensive half.
Substitution, France. Moussa Sissoko replaces Dimitri Payet.
Goal! France 2, Romania 1. Dimitri Payet (France) left footed shot from outside the box to the top left corner. Assisted by N'Golo Kanté.
Offside, France. Dimitri Payet tries a through ball, but Bacary Sagna is caught offside.
Offside, Romania. Gabriel Torje tries a through ball, but Dragos Grigore is caught offside.
Foul by N'Golo Kanté (France).
Gabriel Torje (Romania) wins a free kick on the right wing.
Substitution, Romania. Gabriel Torje replaces Adrian Popa.
Kingsley Coman (France) wins a free kick in the attacking half.
Foul by Alexandru Chipciu (Romania).
Adil Rami (France) wins a free kick in the defensive half.
Foul by Denis Alibec (Romania).
Attempt saved. Anthony Martial (France) right footed shot from outside the box is saved in the bottom left corner. Assisted by Olivier Giroud.
Attempt missed. Ovidiu Hoban (Romania) left footed shot from outside the box is too high. Assisted by Vlad Chiriches.
Adrian Popa (Romania) is shown the yellow card for a bad foul.
Dimitri Payet (France) wins a free kick in the attacking half.