The aircraft, en route from Dubai, skidded off the runway and broke in two at Calicut airport upon landing, India’s aviation authority said.
Rescue operations are under way, with emergency services at the scene.
At least two people, including the pilot, have died, the BBC has been told.
Most people on board the Boeing 737 jet have been evacuated, with at least 35 of them taken to hospital with injuries, authorities said.
The airline said there were 184 passengers – including 10 children and seven crew members, of which two were pilots – on board flight IX-1344 when it crashed at Calicut, also known as Kozhikode.
The flight was being operated by the government to repatriate Indians stuck overseas during the coronavirus crisis.
The Directorate General of Civil Aviation (DGCA) said the plane fell into a valley and broke in two after skidding off the end of the runway. No fire was reported at the time of landing, the aviation regulator said.
“Distressed to learn about the tragic accident of Air India Express aircraft in Kozhikode, Kerala. Have instructed NDRF [National Disaster Response Force] to reach the site at the earliest and assist with the rescue operations,” Home Affairs Minister Amit Shah tweeted.
The incident happened at around 19:00 local time (14:30 BST) amid heavy rainfall in the region.
There have been flooding and landslides, as India’s monsoon season reaches its peak.