Emergency services were called to the New County Hotel in County Place, Perth, shortly before 5.10am on Monday. It is reported 21 ambulance crews were called to the scene, while more than 60 fire fighters were fighting the blaze at its peak.
The Scottish Fire and Rescue Service later said three people and a dog died.
Police Scotland confirmed that other guests had been evacuated, as well as two people from neighbouring properties. A total of 11 people were given treatment at the scene by ambulance workers.
The emergency services said they would not yet reveal details of the victims – or of the blaze itself, which is understood to have started in a room on the upper floors of the building. A joint investigation is being conducted by the police and fire services.
Chief Superintendent Phil Davison of Police Scotland confirmed the deaths at a press conference in Perth, but said inquiries were at a “very early stage”. More information is expected to be released tomorrow.
He added: "Our thoughts are very much with the families and loved ones of those affected by this incident at this, which is a very difficult time for everyone."
Jason Sharp, area commander for Perth, Kinross, Angus and Dundee for Scottish Fire and Rescue Service, said that firefighters had worked “extremely hard in a complex and challenging environment” to prevent the fire’s spread.
He said: “This was a very complex incident and tragically three people were pronounced dead at the scene.”
Omed Hassan, who works at the European Store, close to the hotel, said he was shocked to learn of the deaths.
"It’s bad,” he said. “It is the New Year and for people to die like this as the new year starts is horrible.”
Locals described the hotel as a “mix” of tourists and longer term residents. Police Scotland said it was not aware of any asylum seekers living in the building.
One resident, who was staying at the hotel temporarily after returning to Scotland from living abroad, said that she was “lucky to be alive”.
The woman, who said that she and her husband had been staying in a room directly above where the fire broke out, said: "We woke to the sounds of the alarms going off and just ran, we left everything we have in the room.
"As we reached the front door you could see burning embers falling to the ground. We ran through as quickly as we could, hoping that nothing would fall on us.
"We didn't realise how close we were to where the fire started, really we're lucky to get out alive."
Hotels organisation the Scottish Hospitality Group said: “Our thoughts and prayers are with everyone today after hearing this sad news.”
Deputy First Minister John Swinney, MSP for Perthshire North, described the fatalities as “heartbreaking news”.
Mr Swinney, MSP for Perthshire North, tweeted: “My sympathies with all affected by this tragedy.”
Local MP Pete Wishart said the fire was “simply awful news at the beginning of the year when so many people are out celebrating”.
Mr Wishart, who represents Perth and North Perthshire, added: “My thoughts are firmly with the families and friends of the victims.
“When the news broke, we all hoped that everyone would make it out and would be accounted for. This is the last thing that anybody expected.
“I know the people of Perth will be devastated by this news and would like to extend their deepest sympathies to those affected by this tragedy.
“Can I also thank the emergency services who attended the scene in such numbers.”
The Scottish Fire and Rescue Service (SFRS) said it had sent nine appliances to the scene after the alarm was raised at 5.02am.
A spokesperson for the SFRS said: “We are currently in attendance alongside emergency service partners at a commercial building fire at County Place in Perth.”
Meanwhile, a Scottish Ambulance Service spokesperson said: “We received a call from Scottish Fire and Rescue Service of a fire at the New County Hotel in Perth at 5.05.
“We responded with 21 resources including our special operation resource team, with our first resource on scene at 5:12.”