France secured their first Group D win at Euro 2012 at the expense of co-hosts Ukraine during a rain-interrupted spectacle in Donetsk.
The teams were forced off after only four minutes because of the stormy conditions, returning almost an hour after the scheduled start.
Jeremy Menez opened the scoring in the second half when he drifted inside his marker and fired in from 12 yards.
Yohan Cabaye added a second with a low strike from the edge of the area.
It was the Newcastle midfielder's first international goal, secured as he moved into an advanced position and took advantage of a Ukraine defence that laboured in the heat and soggy conditions inside the Donbass Arena.
The energy-sapping pitch was created by the deluge early in the first half that led to referee Bjorn Kuipers taking the teams off.
The Dutchman was unconcerned by the rain at kick-off but by the fourth minute the downpour had intensified and heavy lightning overhead meant the official had little option but to haul the players off the pitch.
Despite the storm subsiding 20 minutes later, there remained a doubt about whether the rest of the match would be completed on Friday because of the surface water, with rain having poured in torrents out of the stands.
However, following emergency drainage work by the groundstaff, Kuipers gave the go-ahead for the game to restart.
It took a few minutes for the players to become accustomed to the new playing conditions, and it was the nimble French attack that was first to settle.
They provided the best goalmouth action in the first half, with Menez, Karim Benzema and Franck Ribery showing the most intent.
Paris St Germain winger Menez actually had the ball in the net but it was rightly ruled offside, while Benzema also tested Andriy Pyatov with a rising stinging shot and a low drive.
It was centre-back Philippe Mexes who had the clearest chance of the first 45 minutes when his powerful header from a corner had to be pushed away by Pyatov.
But Bayern Munich's Ribery, impressive in the pre-tournament friendlies, was the French star in Donetsk, and it was his wizardry that eventually found Menez on the right of the area.
The winger picking up the pass before shifting inside Yevhen Selin and firing low inside the left-hand post.
The second goal came three minutes later and this time Benzema was the creator. The Real Madrid forward fed Cabaye on the edge of the 18-yard area and he escaped his marker Oleg Gusev before firing in a low shot.
"Sometimes you criticise teams who employ two holding midfielders. But one of France's is Cabaye and he's an all-round midfielder, who sits when he has to sit and gets forward too. It works well for them."
Moments later Cabaye was fractions away from adding a second but his rasping drive, following sustained France pressure, rattled the left-hand post.
Ukraine's game relied on long balls into space for Andriy Shevchenko and Andriy Yarmolenko to chase.
Shevchenko, the hero of the opening match against Sweden, went closest with two efforts. The first was a fierce angled drive that Hugo Lloris palmed away and the second, after the break, was an arrowed shot that flew just a foot over the bar.
Apart from that there was little to enthuse the largely partisan crowd inside the Ukraine stadium. The loud roars of delight that must have heartened their team when they drove forward earlier in the game had turned to whistles of disgust by the end of the match.
The co-hosts have a chance to make amends when they face England in Tuesday's Group D decider, with France up against Sweden in Kiev.
Sorry, we were unable to load match stats, please try again.
Live Text Commentary
Full Time The referee signals the end of the game.87:45
Yevgen Konoplianka has an effort at goal from just inside the box that misses to the right of the target.86:56
Samir Nasri takes a short corner. Unfair challenge on Anatoliy Tymoschuk by Samir Nasri results in a free kick. Anatoliy Tymoschuk restarts play with the free kick.86:04
Samir Nasri crosses the ball in from the free kick, save by Andrei Pyatov.86:04 Booking
Booking Anatoliy Tymoschuk goes into the referee's book.85:55
Marvin Martin fouled by Anatoliy Tymoschuk, the ref awards a free kick.85:34
Mathieu Debuchy produces a cross.84:04
Free kick awarded for an unfair challenge on Marko Devic by Gael Clichy. Oleksandr Aliev crosses the ball from the free kick right-footed from right wing, Hugo Lloris makes a save.83:26
Shot by Yann M'Vila from outside the box goes over the target.83:10
Samir Nasri produces a cross, Yevgen Selin manages to make a clearance.82:37
The ball is delivered by Franck Ribery.80:33
Shot comes in from Oleksandr Aliev from the free kick.80:33 Booking
Booking Philippe Mexes is cautioned.80:27
Philippe Mexes gives away a free kick for an unfair challenge on Artem Milevskiy.79:54
Shot by Olivier Giroud from outside the area goes high over the crossbar.78:15
Anatoliy Tymoschuk takes the direct free kick.78:15 Booking
Booking Mathieu Debuchy shown a yellow card.78:06
Mathieu Debuchy gives away a free kick for an unfair challenge on Yevgen Konoplianka.75:57
Outswinging corner taken by Oleksandr Aliev, clearance made by Gael Clichy.74:53 Substitution
Substitution Olivier Giroud replaces Karim Benzema.
Substitution Jeremy Menez leaves the field to be replaced by Marvin Martin.71:01
Foul by Yevhen Khacheridi on Franck Ribery, free kick awarded. Strike on goal comes in from Franck Ribery from the free kick.70:16
Shot from long distance by Marko Devic misses to the right of the goal.67:48 Substitution
Substitution Andriy Yarmolenko goes off and Oleksandr Aliev comes on.67:19 Substitution
Substitution Yann M'Vila is brought on as a substitute for Yohan Cabaye.66:51
Andriy Yarmolenko takes a shot. Yohan Cabaye gets a block in.65:50
Yevgen Konoplianka takes a outswinging corner to the near post, Yohan Cabaye manages to make a clearance.65:05
Yevgen Konoplianka decides to take the corner short. The ball is crossed by Marko Devic, Adil Rami makes a clearance.61:56
Short corner taken by Samir Nasri.61:01
Karim Benzema takes a shot. Save by Andrei Pyatov.59:10
Direct free kick taken by Anatoliy Tymoschuk.59:10 Substitution
Substitution Artem Milevskiy is brought on as a substitute for Serhiy Nazarenko.59:10
Foul by Alou Diarra on Anatoliy Tymoschuk, free kick awarded.55:26
Assist by Karim Benzema.55:26 Goal scored
Goal! - Yohan Cabaye - Ukraine 0 - 2 France A goal is scored by Yohan Cabaye from the edge of the penalty area to the bottom right corner of the goal. Ukraine 0-2 France.54:16
Adil Rami takes the direct free kick.54:16 Booking
Booking The referee shows Yevgen Selin a yellow card for unsporting behaviour.54:08
Yevgen Selin gives away a free kick for an unfair challenge on Adil Rami.52:06
The assist for the goal came from Karim Benzema.52:06 Goal scored
Goal! - Jeremy Menez - Ukraine 0 - 1 France Jeremy Menez grabs a goal from inside the penalty box to the bottom right corner of the goal. Ukraine 0-1 France.49:44
Shot on goal by Anatoliy Tymoschuk from just inside the area goes over the target.48:58
Inswinging corner taken right-footed by Samir Nasri, Andrei Pyatov makes a save.48:26
Effort on goal by Andriy Shevchenko from outside the area goes harmlessly over the bar.48:00
Jeremy Menez takes a shot. Save by Andrei Pyatov.47:08
Andriy Shevchenko is caught offside. Gael Clichy takes the indirect free kick.46:36
Centre by Jeremy Menez, clearance by Yevhen Khacheridi.46:00
Outswinging corner taken right-footed by Samir Nasri, clearance by Anatoliy Tymoschuk.45:01
The referee gets the second half underway.45:01 Substitution
Substitution (Ukraine) makes a substitution, with Marko Devic coming on for Andriy Voronin.45:00 +58:06 Half time
Half Time The ref blows to signal half-time.45:00 +0:12
Foul by Jeremy Menez on Yevgen Selin, free kick awarded. Free kick taken by Anatoliy Tymoschuk.43:35
A cross is delivered by Karim Benzema, clearance by Yevhen Khacheridi.40:23
Free kick awarded for a foul by Jeremy Menez on Yevgen Selin. Free kick taken by Yevgen Selin.39:58 Booking
Booking Caution for Jeremy Menez.39:12
Corner taken right-footed by Samir Nasri from the right by-line, Karim Benzema takes a shot. Blocked by Andrei Pyatov.37:46
Oleg Gusev gives away a free kick for an unfair challenge on Franck Ribery. Samir Nasri sends in a cross, Philippe Mexes takes a shot. Andrei Pyatov makes a fantastic save.37:14
Serhiy Nazarenko takes the outswinging corner, clearance made by Jeremy Menez.36:33
Serhiy Nazarenko takes a outswinging corner from the right by-line to the near post, clearance by Gael Clichy.35:56
Yevhen Khacheridi fouled by Karim Benzema, the ref awards a free kick. Andrei Pyatov takes the free kick.34:16
Free kick awarded for an unfair challenge on Adil Rami by Andriy Shevchenko. Direct free kick taken by Adil Rami.33:47
Andriy Shevchenko takes a shot. Fantastic save by Hugo Lloris.32:11
Effort from just outside the area by Yevgen Konoplianka goes over the bar.28:33
Jeremy Menez takes a shot. Save by Andrei Pyatov.27:09
Karim Benzema takes a shot. Save by Andrei Pyatov.25:41
Effort on goal by Jeremy Menez from just inside the penalty box goes harmlessly over the target.24:08
Andriy Yarmolenko produces a left-footed shot from just outside the box that goes wide right of the goal.17:33
The official flags Gael Clichy offside. Oleg Gusev takes the direct free kick.16:00
The referee blows for offside against Jeremy Menez. Andrei Pyatov restarts play with the free kick.14:58
Gael Clichy delivers the ball.14:39
Foul by Philippe Mexes on Andriy Shevchenko, free kick awarded. Direct free kick taken by Anatoliy Tymoschuk.13:43
Serhiy Nazarenko challenges Mathieu Debuchy unfairly and gives away a free kick. Mathieu Debuchy takes the free kick.12:31
Oleg Gusev delivers the ball, clearance by Adil Rami.11:23
Karim Benzema is caught offside. Free kick taken by Yevhen Khacheridi.10:29
Foul by Anatoliy Tymoschuk on Franck Ribery, free kick awarded. Samir Nasri restarts play with the free kick.9:28
Mathieu Debuchy takes a shot. Save by Andrei Pyatov.9:05
Inswinging corner taken right-footed by Samir Nasri from the left by-line.5:17
Karim Benzema takes a shot. Save by Andrei Pyatov.3:03
Free kick awarded for an unfair challenge on Yevhen Khacheridi by Jeremy Menez. Yevhen Khacheridi takes the indirect free kick.2:21
The referee blows for offside against Andriy Shevchenko. Gael Clichy takes the free kick.0:00
The match begins.4:30
The game has been suspended.
Live data and text provided by our data suppliers