French firefighters have won an hours-long battle to save the main structure of Notre-Dame Cathedral in Paris, after a colossal fire caused the spire of the historic edifice to crash to the ground and wiped out centuries of heritage.

French President Emmanuel Macron vowed that "we will rebuild" Notre-Dame and expressed relief that "the worst had been avoided" in a fire that risked bringing the entire edifice down.

The fire destroyed the roof of the 850-year-old UNESCO world heritage landmark, whose spectacular Gothic spire collapsed before the eyes of horrified onlookers.

The fire, which came as Catholics prepare to celebrate Easter, sent orange flames and clouds of grey smoke billowing into the sky as stunned Parisians and tourists watched on in horror.

As darkness fell, some 400 firefighters then battled to control the fire and save at least its iconic front towers. They finally gained the upper hand as midnight approached and, after burning for about 8 hours, the fire was largely extinguished by 3am on Tuesday.

Paris fire brigade chief Jean-Claude Gallet said "we can consider that the main structure of Notre-Dame has been saved and preserved" as well as the two towers.

"This is really sad - the saddest thing I've ever stood and watched in my life," said British tourist Sam Ogden, a 50-year-old onlooker, who had come to visit the cathedral with her family.

The cause of the blaze was not immediately confirmed. The cathedral had been undergoing intense restoration work which the fire service said could be linked to the blaze.

French prosecutors said the blaze was being treated as an "involuntary" fire, indicating that foul play was ruled out for now.

Last week, dramatic footage had shown workers removing 16 copper statues from the spire which was undergoing a revamp financed by the state and private donors.

Deputy Paris mayor Emmanuel Gregoire told the channel that workers were scrambling "to save all the artworks that can be saved."

Visibly emotional, Mr Macron said while the "worst had been avoided" and the facade and two towers saved "the next hours will be difficult".

Prime Minister Edouard Philippe said he felt a "sadness beyond words" but added the fire services "were still fighting... heroically, to save what can be saved".