The three-seater aircraft crashed on the Tenerife beach after the pilot reported technical problems.
A woman and a girl, 14, walked away from the wreckage, but the pilot is said to have suffered serious injuries.
All three, of French and Belgian nationality, are recovering at La Candelaria Hospital.
The plane had been travelling from Tenerife Norte to Morocco when it got into trouble and forced the pilot to negotiate an emergency landing.
Mayor Jose Manuel Bermudez said it was a ‘miracle’ that no one was injured.
The beach has been cordoned off while the clean-up of the area gets underway.