Denmark joined France in the last 16 of the World Cup after playing out the first goalless draw of the tournament, which was greeted by boos at the final whistle.
A draw was good enough to see a much-changed French side top Group C, while Denmark knew a point would be enough for them too, even if Australia beat Peru.
That scenario resulted in a game that lacked ambition, chances and any element of danger, not helped by news midway through the first half that Peru were winning in Sochi.
The fans in Moscow’s Luzhniki Stadium were initially enthusiastic enough, especially the red-shirted Danes who packed one end.
But they saw little in the way of goal-mouth excitement, with the first shot on target arriving in the 39th minute, when France’s Antoine Griezmann turned to fire a tame effort at Kasper Schmeichel from the edge of the area.
Denmark did fashion the best chance of the first half when France keeper Steve Mandanda just beat Christian Eriksen to Andreas Cornelius’s excellent low cross.
But their only shot on target came after 54 minutes when Mandanda spilled Eriksen’s free-kick. The Marseille keeper recovered before Cornelius could capitalise on the rebound.
Both sides stepped up their safety-first approach as the second half progressed – bringing jeers and whistles from many neutrals in the stadium – to ensure they got the result they desired.
France, who rested midfield trio Paul Pogba, Blaise Matuidi and Corentin Tolisso – all of whom were a booking away from a ban – will play the runners-up in Group D in Kazan on Saturday.
That could be any one of the four teams, while Denmark’s fate is a little clearer. They will play the Group D winners, either Croatia or Nigeria, in Nizhny Novgorod on Sunday.
France must wait to find their rhythm
France had won their first two games without really finding their rhythm and Didier Deschamps’ decision to make six changes meant that was always unlikely to happen here either.
There were some brief glimpses of the quality that Deschamps has at his disposal, thanks to Griezmann’s intelligent movement behind the Denmark defence, and right-back Djibril Sidibe’s runs up the right flank.
Liverpool target Nabil Fekir also showed some nice touches when he replaced Griezmann for the last 20 minutes and did come close to breaking the deadlock when he fired into the side-netting.
But otherwise there was little urgency on display, and no sense the France players had any desire to clinch their third successive win.