Clouds of smoke were seen billowing from near the runway after the plane crashed at Terminal Four.
"The scene is devastating," Pablo Albella, a Madrid city rescue worker, said as crews removed bodies and injured people from the aircraft belonging to Spanish airline Spanair.
"The fuselage is destroyed. The plane burned. I have seen a kilometre of charred land and few whole pieces of the fuselage."
"It is all destruction," he said.
Rachel Levin, reporting for Al Jazeera from the airport, said: "Black smoke is rising from the plane and the airport has been shut down.
"Ambulances are heading towards the scene."
The bodies were so hot that police could barely touch them and the shattered wreckage bore no resemblance to a plane, one police officer told El Pais newspaper.
A makeshift morgue was being set up at the city's main convention centre, officials said.
Chris Hodgkinson, technical director of the Guild of Airpilots and Air Navigators, told Al Jazeera: "One can only assume at this time that this was due to mechanical failure.
"It crashed close to the airport and broke into two pieces."
Helicopters and fire engines pumped water onto the burning plane, which had crashed into a wooded area at the end of the runway.
The aircraft's "black box" flight data recorder has been retrieved.
The plane's takeoff had been delayed by about an hour due to technical problems.
Spanair spokesman Sergio Allard said the plane has passed an inspection in January of this year and no problems with it had been reported.
The plane is 15 years old and has been owned by Spanair for the past nine, he said.
Jose Luis Rodriguez Zapatero, the Spanish prime minister, interrupted his holiday in southern Spain to travel to Madrid airport, one of his officials said.
Madrid airport cancelled departures after the crash and restricted the number of aircraft arriving.
The MD-80 plane, which can carry up to 166 passengers, is operated by Spanair, Spain's second-biggest airline after Iberia, and is a subsidiary of Scandinavian carrier SAS.
The MD-80 family of twin-engine medium-range airliners enjoyed wide popularity among the world's airlines in the 1970s, 80s and 90s.
But it has had a number of fatal accidents, the worst of which was a crash of Slovenia's Adria Airways flight in Corsica in 1981, when all 180 people on board perished.
Five passengers on a Spanair flight from Spain's Basque region to Barcelona were injured in an emergency evacuation on January 9, 2006.
The airline, which has a fleet of 65 jets, was founded in 1986 and says it has since carried more than 104 million passengers from about 100 European destinations to Spain.
It is a member of the Star Alliance network but recently proposed shedding almost a quarter of its 4,000 staff because of the fuel price rise crisis and reduced demand.