The Pakistan International Airlines (PIA) plane came down among houses yesterday afternoon after both engines failed as it approached Karachi airport, the airline said.
Its wings sliced through rooftops, sending flames and plumes of smoke into the air as it crashed onto a street.
Commercial flights in the country resumed only days ago, ahead of the Muslim holiday of Eid al-Fitr, after planes were grounded during a lockdown over the coronavirus pandemic.
"After it hit and I regained consciousness, I saw fire everywhere and no one was visible," Mohammad Zubair, 24, said from his hospital bed in a video clip circulated on social media.
"There were cries of children, adults and elderly. The cries were everywhere and everybody was trying to survive. I undid my seat belt and I saw some light and tried to walk towards it. Then I jumped out."
Mr Zubair had suffered burns but was in a stable condition, a health ministry official said.
The airline named the other survivor as the president of the Bank of Punjab, Zafar Masud.
The health ministry for Sindh province, where the southern port city of Karachi is located, today confirmed that all 97 bodies recovered from the crash site had been on the plane.
At least 19 had been identified so far, while DNA testing was being carried out at the University of Karachi to help name the rest of the victims.
A local hospital earlier reported it had received the bodies of people killed on the ground.
The disaster comes as Pakistanis prepare to celebrate the end of the Muslim fasting month of Ramadan and the beginning of Eid, with many travelling to their homes in cities and villages.
A PIA spokesperson said air traffic control lost contact with the plane travelling from Lahore to Karachi just after 2.30pm local time.
The pilot made a desperate mayday call after announcing "we have lost engines", according to an audio recording confirmed by the airline.
PIA chief executive Arshad Mahmood Malik described the Airbus A320 as one of the safest planes.
"Technically, operationally everything was in place," he said, promising an investigation.
Aviation Minister Ghulam Sarwar Khan said the captain, Sajjad Gull, had been described by the airline as a senior A320 pilot with extensive flight experience.
The plane had first entered service in 2004 and was acquired by PIA a decade later and had logged around 47,100 flight hours, Airbus said in a statement.
Residents were the first to sift through the charred and twisted wreckage strewn in search of survivors, with witnesses reporting the cries of a man hanging from the plane's emergency exit door.
Pakistan Prime Minister Imran Khan said he was "shocked and saddened" by the crash, tweeting that he was in touch with the state-owned airline's chief executive.
"Prayers & condolences go to families of the deceased," he wrote on Twitter.
The Pakistan military said security forces were deployed to the area and helicopters were used to survey the damage.
Pakistan has a chequered military and civilian aviation safety record, with frequent plane and helicopter crashes over the years.
In 2016, a PIA plane burst into flames after one of its two turboprop engines failed while flying from the remote north to Islamabad, killing more than 40 people.
The deadliest air disaster on Pakistani soil was in 2010 when an Airbus A321 operated by private airline Airblue and flying from Karachi crashed into the hills outside Islamabad as it came in to land, killing all 152 people on board.
An official report blamed the accident on a confused captain and a hostile cockpit atmosphere.