Two passengers survived, including Zafar Masood, president of the Bank of Punjab, a Sindh provincial government spokesman said. The bank said he had suffered fractures but was "conscious and responding well".
The other survivor, engineer Muhammad Zubair, told Geo News the pilot came down for one landing, briefly touched down, then took off again.
After around 10 more minutes of flying, the pilot announced to passengers he was going to go around for a second go, then crashed as he approached the runway, Zubair said from his bed in Civil Hospital Karachi.
#BREAKING: A passenger plane of Pakistan International Airlines (PIA) crashed on Friday afternoon in Pakistan's southern port city of Karachi, local media reported. There are no reports about how many passengers were on board. pic.twitter.com/IidKYcckFd— Global Times (@globaltimesnews) May 22, 2020
"All I could see around was smoke and fire," he added. "I could hear screams from all directions. Kids and adults. All I could see was fire. I couldn’t see any people – just hear their screams.
"I opened my seat belt and saw some light – I went towards the light. I had to jump down about 10 feet to get to safety.”
Smoke billowed from the scene where flight PK 8303 came down at about 2:45 p.m. (0945 GMT). Twisted fuselage lay in the rubble of multi-storey buildings as ambulances rushed through chaotic crowds.
The crash happened on the eve of the Muslim festival of Eid, when Pakistanis travel to visit relatives.
"The aeroplane first hit a mobile tower and crashed over houses," witness Shakeel Ahmed said near the site, a few kilometres short of the airport.
The Airbus A320 was flying from the eastern city of Lahore to Karachi in the south with 91 passengers and eight crew, civil aviation authorities said, just as Pakistan was resuming domestic flights in the wake of the coronavirus pandemic.
A total of 56 bodies were brought to JPMC hospital and the Civil Hospital Karachi, officials from both institutions said. The airline's chief executive, Arshad Malik, told reporters he knew of 41 confirmed deaths.
Seconds before the crash, the pilot told air traffic controllers he had lost power from both engines, according to a recording posted on liveatc.net, a widely respected aviation monitoring website.
Impact marks on engines
"We are returning back, sir, we have lost engines," a man was heard saying in a recording released by the website. The controller freed up both the airport's runways but moments later the man called "Mayday! Mayday! Mayday!".
There was no further communication from the plane, according to the tape, which could not immediately be authenticated. "The last we heard from the pilot was that he has some technical problem ... It is a very tragic incident," said the state carrier's spokesman, Abdullah H. Khan.
Another senior civil aviation official told Reuters it appeared the plane had been unable to lower its undercarriage for the first approach due to a technical fault, but it was too early to determine the cause. According to eye witnesses, the crew went around after the engines touched the tarmac - images on Twitter show impact marks.
Our hearts weep with some terrible news coming out of Karachi today. Here is AP-BLD in it's final moments, attempting a go around after it's first attempt of belly landing. A little smoke can be seen from engines as well.#PlaneSpottersPakistan #avipak #planecrash #karachi pic.twitter.com/eOKiCAeRu7— Plane Spotters Pakistan (@PlaneSpottersPK) May 22, 2020
Aviation safety experts say air crashes typically have multiple causes, and that it is too early to understand them within the first hours or days.
Prime Minister Imran Khan tweeted: "Shocked & saddened by the PIA crash ... Immediate inquiry will be instituted. Prayers & condolences go to families of the deceased."
Airbus said the jet first flew in 2004 and was fitted with engines built by CFM International, co-owned by General Electric and France's Safran.