American Airlines Flight 331 from Miami to Kingston, Jamaica, overshot the runway as it attempted to land in a heavy rain Wednesday morning.
The fuselage on the Boeing 737 cracked and the landing gear collapsed on impact. Forty-four passengers were rushed to nearby hospitals. Four were seriously injured, but no one was killed.
People who were treated at a hospital were released Wednesday morning.
"I did see a photo on a mobile phone taken by the information minister and the plane has been broken into a couple of pieces," said Radio Jamaica's Milton Walker. "It was really a miracle."
Airline spokesman Tim Smith said it was too soon to give details about the extent of the damage to the plane. He said the engines are made to separate from the wings during an accident as a safety measure.
Investigators are trying to determine what caused the plane to overshoot the runway.