The Air India Express plane, en route from Dubai, skidded off the runway during bad weather before breaking in two while landing at Kozhikode airport.
There were 190 people on board the flight and one official said it was a "miracle" the toll was not higher.
It is still India's worst passenger air crash in a decade.
The flight was repatriating Indians stranded by the coronavirus crisis. First responders to the crash have been asked to go into quarantine.
Prime Minister Narendra Modi said he was "pained" by the accident.