A gas leak is believed to be behind the explosion at the Saratoga Hotel, according to Cuba’s presidential office, which said more details would follow.
“Everything indicates that the explosion was caused by an accident,” the Cuban presidency said in a tweet.
According to preliminary data, a child and a pregnant woman were among those who died, he added.
The presidency also indicated that 64 people were hospitalized with injuries, including 14 minors.
Cuban state television said there were potential survivors trapped in the basement of the destroyed hotel.
Witnesses described a “massive explosion” which appeared to destroy buses and cars outside the hotel in the center of town.
Footage from the scene showed the building’s at least three-story blasted facade adorned with green and white stucco. Plumes of dust and smoke could be seen rising around the debris on the ground.
A CNN crew on the ground saw a bleeding woman being carried to the scene of the explosion. Firefighters were using their bare hands to move chunks of broken granite and stone to get people out of the rubble. Pieces of metal awnings, balconies and large chunks of stone were strewn about 300 feet from the hotel.
Cuban President Miguel Diaz-Canel visited the site of the explosion and the Hermanos Ameijeras hospital on Friday, where a number of victims were sent, according to images shared by the presidential office on Twitter.
He said the explosion was “not a bomb or an attack, it was a regrettable accident”, after returning to the scene of the explosion.
Hospitals continue to treat all the injured and rescue operations are still ongoing, he added.
The Mexican Foreign Minister tweeted his solidarity with the victims of the explosion. “Our solidarity with the victims and those affected as well as with the people of this dear brotherly nation,” Marcelo Ebrard said in a tweet.