The state-owned Gaviota company that runs the hotel said 11 workers were killed in the blast and 13 were missing. A Cuban-American woman is among the injured, according to Dalila Alba González, spokesperson for the tourism ministry.
A gas leak is believed to be the cause of the explosion, according to the Cuban Presidential Office, which said further details will follow.
“Everything indicates that the explosion was caused by an accident,” the Cuban Presidential Office said in a tweet.
According to preliminary data, among those who died were a child and a pregnant woman.
The presidency also said 64 people were hospitalized for injuries, including 14 minors.
Cuban state TV said there were potential survivors trapped in the basement of the destroyed hotel.
Witnesses described a “large explosion” which appeared to destroy buses and cars outside the hotel in the city center.
The images of the scene showed the exploded facade of at least three floors of the ornate building with green and white stucco. Plumes of dust and smoke could be seen rising around the debris on the ground.
A CNN team on the ground saw a bloody woman being taken away to the scene of the explosion. Firefighters were using their bare hands to move broken pieces of granite and stone in order to pull people out of the rubble. Pieces of metal awnings, balconies, and large chunks of stone were scattered 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 numerous 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 is a deplorable accident” after returning to the site of the explosion.
Hospitals continue to treat all the injured and relief efforts 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 that dear brotherly nation,” Marcelo Ebrard said in a tweet.