Manager Didier Deschamps' France side dominated possession but struggled to create any clear-cut chances against a determined Denmark, who played cautiously throughout.
After much debate about the video assistant referee (VAR) following further controversy during Monday's matches, it was inevitable any penalty area tussles would prompt strong appeals at the Luzhniki Stadium.
There have already been 20 penalties given at this World Cup, a tournament record before the group stage has even concluded.
Denmark's Martin Braithwaite laid an early claim after going down under pressure from Presnel Kimpembe, although there appeared minimal contact at best.
France had a penalty shout of their own when Henrik Dalsgaard slid in on Lucas Hernandez, with Kasper Schmeichel tipping behind Olivier Giroud's looping follow-up effort.
Committed play from Thomas Delaney saw him release Andreas Cornelius down the left flank but Christian Eriksen was unable to apply a finishing touch as Mandanda and Hernandez combined to clear.
Antoine Griezmann then shot tamely at Schmeichel from 20 yards, the Atletico Madrid forward's biggest contribution coming just before the break when he sparked a threatening counter that drew a cynical foul from Mathias Jørgensen.
France have scored just three times in three games in Russia, including a penalty and an own goal, and it was another disjointed display from one of the title favourites.
They will discover their opponents in the next round later on Tuesday, with Argentina needing to beat Nigeria in Saint Petersburg to stand a chance of qualifying.
Marseille goalkeeper Steve Mandanda, 33, made his first appearance at a major tournament, having been an unused substitute at the last three European Championships and the 2010 World Cup.
A bystander for long periods, Mandanda was nearly caught out by a speculative Eriksen free-kick as he spilled before pouncing on the rebound just ahead of Cornelius.
A miscued clearance from Djibril Sidibe soon presented Eriksen with another chance, the Tottenham star dragging wide of the target on this occasion.
Loud jeers from a sold-out crowd of 78,011 greeted passive and defensive play from a tiring Denmark towards the end of the second half. The Danish players declined to attack the French back line despite being almost assured qualification by that stage of the match, with Group C rivals Australia heading for defeat against Peru.
Nevertheless, the draw was a result that suited both sides as Denmark, now unbeaten in 18 matches, reached the latter stages of the World Cup for the first time since 2002.
READ ALSO: More on Denmark in the World Cup