Guests at the Fisher’s Hotel in Pitlochry over the new year were evacuated when the fire was discovered shortly after 6am.
The building in the town’s main street is thought to have been evacuated safely and residents were taken to a nearby hotel for shelter.
Scottish Fire and Rescue Service said the building was “well alight” and around 55 firefighters were using nine fire engines to fight the blaze.
A spokesman said: “We received the call at 6.04am and the incident is still ongoing.
“The fire in the roof of the hotel is well alight. An aerial pump has been set up and there are nine pumps in attendance and other specialised appliances.”
Hotel management confirmed they had carried out a final sweep of the building and the residents are thought to have been evacuated with no injuries.
Police were called out and closed the main road through the town.
A Police Scotland spokesman said the guests were taken to the Scotland’s Hotel as a temporary shelter.
The 137-room Fisher’s Hotel has a maximum capacity of 180 guests and was holding a four-day new year break including a Hogmanay Ball and fireworks display.