An almighty deluge at Donetsk’s Donbass Arena forced the players off the pitch after only five minutes and when the skies cleared it was France who prevailed through quick-fire second-half goals by Jeremy Menez and Yohan Cabaye.
It was France’s first victory at a major tournament since their runners-up finish at the 2006 World Cup and it took Laurent Blanc’s side a point above Ukraine ahead of the later game between England and Sweden in Kiev.
“Tonight I really enjoyed watching France play,” Blanc told the M6 television channel.
“We scored two goals and we could have scored a few more. We’re progressing. Everything isn’t perfect but the players know that we have a potential that just needs further progress.
“Each match is different. Tonight we we were better than Ukraine and God knows it wasn’t easy because they had a whole stadium behind them.”
Les Bleus’ unbeaten run now stands at 23 matches, while Ukraine must pick themselves up after a reality check that cut through the euphoria sparked by their opening 2-1 success against the Swedes.
“In the first half, it was an even game,” said Ukraine coach Oleg Blokhin.
“In the second, we were unable to score and France were. I’m satisfied with our play but unfortunately everything didn’t go as planned.
“The win against Sweden didn’t guarantee us anything, so if we thought we were in the quarters, we made a mistake.”
The first moment of drama occurred during the national anthems, as a sudden clap of thunder interrupted La Marseillaise.
The match began beneath a steady downpour but the rain quickly intensified, sending spectators scrambling for cover and obliging referee Bjorn Kuipers to order the players off the pitch for a delay that was to last 57 minutes.
When play resumed, it was France who took the initiative, despite the roars of encouragement from the banks of yellow-clad fans in the tribunes every time Ukraine crossed the halfway line.
The arena shook with noise each time the ball came to Andrei Shevchenko, hero of the win against Sweden.
The 35-year-old threatened to raise the volume even further in the 34th minute, but Hugo Lloris was equal to his firmly struck half-volley.
With both defences betraying signs of unease, play swung from end to end, and Andrei Pyatov was obliged to produce a stunning one-handed save to claw away a Phillipe Mexes header that appeared destined for the top-right corner.
More enterprising than in their 1-1 draw with England, France remained on the front foot in the second period and Pyatov had to be alert to deny Menez again after he ran onto Benzema’s beautifully weighted through-ball.
Shevchenko and Anatoliy Tymoshchuk both shot narrowly over within the space of a minute, before Menez — an unexpected inclusion in the starting line-up — finally scored the goal he had been threatening in the 53rd minute.
Franck Ribery was the catalyst, striding into Ukrainian territory on the left and picking out Benzema, whose pass allowed Menez to cut in from the right and beat Pyatov at his near post with a left-foot shot.
Within three minutes it was 2-0 and Benzema was again the provider, sliding a diagonal pass through the defence for Cabaye, who held off Oleg Gusev before drilling home his first international goal.
Cabaye almost claimed a stunning second in the 65th minute, his crisp shot cannoning back off an upright, before Blanc successfully took the sting out of the game with a string of substitutions.
A match that began with a torrent of rain ended with a barrage of boos, but the quarter-finals remain within sight for both sides.