It was France's sixth win of the 2017 event as the 1995, 2001, 2009, 2011 and 2015 champions set-up a last-eight duel with either Sweden or Belarus who play on Sunday.
"We are happy because this was like a completely different game from the group phase as this a one-off game," said France coach Didier Dinart after match played in freezing conditions at the Pierre Mauroy stadium, the home of Lille football club.
"We had trouble in the first half in defence. We talked at half-time about what we had to improve on and we saw the effects right from the start of the second half and when you've got such a strong back-up from the crowd it's easier for you to take control of the game."
Norway downed Macedonia 34-24 in Albertville while Spain saw off Brazil 28-27 in Montpellier.
"The match was easier than we thought. Macedonia are a really good team but I think the pace in the first half was so high that they had problems in the second half to keep up," said Norway coach Christian O'Sulivan."Our tempo has been good throughout the whole tournament."
The day's other last-16 clash saw Slovenia beat Russia 32-26 in Paris.
Spain were frustrated for long periods by the brilliant performance of Brazil goalkeeper Cesar Augusto Almeida who saved 14 of the 38 shots which peppered him.
Alex Dujshebaev and Valero Rivera scored in the last five minutes as Spain just avoided a fresh setback after failing to qualify for the Olympics in Rio last year.
They will face either Croatia or Egypt for a place in the semi-finals.