One passenger train derailed on to the adjacent track and was struck by an incoming train on Friday, also hitting a nearby stationary freight train.
A massive recovery operation is under way, after hundreds of emergency workers searched the wreckage.
The cause of India’s worst train crash in over 20 years is not yet clear.
Officials say several carriages from the Coromandel Express, travelling between Kolkata (formerly Calcutta) and Chennai (formerly Madras), derailed at about 19:00 (13:30 GMT) in Balasore district after hitting a stationary goods train. Several of its coaches ended up on the opposite track.
Another train travelling in the opposite direction – the Howrah Superfast Express travelling from Yesvantpur to Howrah – then hit the overturned carriages.
“The force with which the trains collided has resulted in several coaches being crushed and mangled,” Atul Karwal, chief of the National Disaster Response Force (NDRF) told ANI news agency.
More than 200 ambulances and hundreds of doctors, nurses and rescue personnel were sent to the scene, the state’s chief secretary Pradeep Jena said.
Sudhanshu Sarangi, director general of Odisha Fire Services, had earlier said 288 had died.
All trapped and injured passengers have been rescued. It is not clear how serious the injuries of those taken to hospitals were.
Work to restore the site of the crash begun, India’s South Eastern Railway company said on Saturday.
Prime Minister Narendra Modi visited the site of the accident on Saturday afternoon, joining Railway Minister Ashwini Vaishnaw at the scene.
An investigation into the cause of the crash has been launched, although Education Minister Dharmendra Pradhan has blamed “technical reasons”.
Survivors and eyewitnesses have described chaotic scenes and the heroic efforts of people from nearby villages to save trapped passengers.
Mukesh Pandit, who was trapped for half an hour before being rescued, told the BBC he heard a “thunderous sound” shortly before the carriage overturned.
“Four passengers who were travelling from my village have survived, but a lot of people are injured or still missing. A lot of people died in the coach I was travelling in,” he added.
India’s deadly train crashes
- June 1981: Nearly 800 people died when seven of the nine coaches of an overcrowded train fell into a river during a cyclone
- August 1995: At least 350 people are killed when two trains collide 200km (125 miles) from Delhi
- August 1999: Two trains collide near Kolkata killing at least 285 people
- October 2005: 77 people are killed when a train derails in the southern state of Andhra Pradesh
- November 2016: Nearly 150 people are killed and an equal number are injured when 14 carriages of the Indore-Patna Express train derail near the city of Kanpur
Residents of the neighbouring villages were among the first to reach the site of the accident and start the rescue operation.
India has one of the largest train networks in the world with millions of passengers using it daily, but a lot of the railway infrastructure needs improving.
Trains can get very packed at this time of year, with a growing number of people travelling during school holidays.
Both passenger trains involved in the crash were full and had many more people on the waiting list, according to passenger lists on the Indian rail ministry website reviewed by the BBC.
India’s worst train disaster was in 1981, when an overcrowded passenger train was blown off the tracks and into a river during a cyclone in Bihar state, killing at least 800 people.