Crews battled a fire at a historic hotel on the main avenue in Banff, Alta., that forced dozens of guests to be ushered out in the middle of the night.

An RCMP officer in a patrol car spotted the blaze around 2:30 a.m. MT on the roof of the Mount Royal Hotel on Banff Avenue, police said.

All of the nearly 300 guests were safely ushered out of the hotel and moved to other accommodation, a hotel spokesperson said.

The hotel was evacuated and guests were moved to other hotels in Banff as crews battled the blaze. (@banffmike/Twitter)

Banff deputy fire Chief Mike Geisler says the fire was quickly brought under control by his 22 firefighters, with support from 21 more from the nearby communities of Canmore, Lake Louise and Exshaw.

Crews were still putting out hot spots by late morning, he said. The fire seems to have started on the roof, which was undergoing repairs.

There were no injuries. The cause of the fire is under investigation.

Fire crews were continuing to douse the smouldering fire by late Thursday morning. (Evelyne Asselin/CBC)

Cody Fraser, 25, who is visiting Banff from Wetaskiwin, Alta., told CBC News he thought hotel staff handled the emergency well.

"It was all organized, and they got everybody out and the hotel did a good job of organizing everybody," he said.

"They started taking roll call and making sure everybody was out there, and if somebody didn't check in with them, they'd go back to the fire department and check."

The fire caused extensive damage to the top floor of the Mount Royal Hotel. (Evelyne Asselin/CBC)

The Mount Royal Hotel was built in 1908. The original structure was destroyed by fire in 1967 and the hotel was rebuilt the following year, says town spokeswoman Diana Waltmann.

Banff Mayor Karen Sorensen said it's sad to see the iconic building damaged by fire.

"That being said, what I can tell you is there's fire damage on the roof and the top floor of the hotel, and there's smoke and water damage throughout. The building has not been lost, which was the fear."

Andrew Costello and his family from Australia are among the guests who have been temporarily relocated to other hotels.

Andrew Costello and his family came from Australia to Banff for a Christmas vacation and are among Mount Royal Hotel guests who have been reloacted to other hotels following a major fire. (Evelyne Asselin/CBC)

He said they came to Banff to celebrate a white Christmas and plan to head home in a couple of weeks, but the vacation has essentially been put on hold until they can get back to their room to retrieve the wallets and luggage they left behind as they fled.

"In hindsight we probably should have grabbed a couple more things, because now we literally have nothing," he said.

"We don't have a credit card; we don't have a dollar on us. It's not really ideal, but the main thing is, as far as we know, no one was injured."

Costello has been told he won't get back into his room today.

Banff Fire Chief Silvio Adamo. (Evelyne Asselin/CBC)

Banff Fire Chief Silvio Adamo said the majority of the hotel's fourth floor has been destroyed but the damage has been mainly contained to that floor.

He said the blaze started either on the fourth floor or on the roof and the cause remains under investigation.

"There was some new roofing being done and so all that new insulation, all the new tar membrane that was laid down, when it ignited, it was very, very difficult to put out," Adamo said.

Our crews responded earlier this morning to back up <a href="https://twitter.com/hashtag/BanffFD?src=hash">#BanffFD</a> on a structure fire at a hotel in Banff. <a href="https://t.co/bxnbd0VDMu">pic.twitter.com/bxnbd0VDMu</a> —@CanmoreFireRes

WARNING: This video contains profanities:

Mount Royal Hotel in Banff on fire early Thursday morning. <a href="https://twitter.com/hashtag/cbc?src=hash">#cbc</a><a href="https://t.co/sdyk15CM1S">https://t.co/sdyk15CM1S</a> —@LydiaNeufeldCBC