Colombian Air Force Col. David Barrero said officials were investigating reports the plane had been hit by lightning before crashing at 1:49 a.m. on San Andres Island, a resort area of 78,000 people about 120 miles east of the Nicaraguan coast.
San Andres Gov. Pedro Gallardo said 125 passengers and six crew members had been aboard Aires Flight 8520, but the only person killed was Amar Fernandez de Barreto, 68.
"It was a miracle and we have to give thanks to God," that only one person died, said Gov. Pedro Gallardo.
Officials said 119 people were treated or checked at local clinics and five of them were seriously injured.
The state government said in an e-mail that passengers aboard the plane that left Bogota about midnight included eight U.S. citizens and four Brazilians. They were not identified.
Passengers said the pilot had announced an impending landing and all seemed normal as the plane descended through rain and lightning.
But suddenly it hit short and then slid onto the runway on its belly as the fuselage fractured. It wound up on one end of the runway, crumpled and in pieces, as passengers scrambled or were helped to safety.
Firefighters quickly doused the beginnings of a fire on a wing, said police Gen. Orlando Paez.
Ninety-nine passengers were taken to the Amor de Patria Hospital on San Andres, said the hospital director, Dr. Robert Sanchez.
"It's incredible. For the dimension (of the accident), there should be more," he said.
Sanchez said an initial examination indicated that Fernandez de Barreto may have died of a heart attack.
Twenty other passengers were treated at another clinic, according to the national civil aviation agency.
Barrero, commander of the Caribbean Air Group, said by telephone from San Andres that "the skill of the pilot kept the plane from colliding with the airport."
He said the cause of the accident was uncertain. "You can't speculate. Lightning? A gust of wind? The investigation will say."
The airline, Aerovias de Integracion Regional SA, said in a Twitter posting that it has 20 planes, including 10 Boeing 737-100 planes.
It said it was "working and investigating with the aeronautical authorities to determine the causes of what happened."
Barrero said part of the 7,800-foot runway had been closed because parts of the plane were still scattered across it. But enough was usable that air ambulances would be able to land.
Paez said by telephone that a group of police officers who had been waiting at the airport for the plane to take them back to the Colombian mainland aided in rescuing the victims.