A passenger train derailed in western India on Sunday, killing at least 18 people and injuring more than 100 as rescue workers raced to free those still trapped, a police official said.

The train's engine and four of its carriages jumped the tracks in the western state of Maharashtra 110 kilometres (70 miles) south of Mumbai, police control room official Ramchandra Kamre told AFP in Raigad district, where the accident occurred.

"So far we have 18 reported deaths and 112 injured, who have been rushed to nearby hospitals for treatment," Kamre said.

Rescuers were trying to pull out passengers still trapped in overturned carriages, with cranes and teams of workers at the site.

Railways Minister Mallikarjun Kharge ordered an investigation into the accident, which occurred in the mid-morning as the train was travelling from Diwa on the outskirts of Mumbai to the city of Sawantwadi in Maharashtra.

India's underfunded rail network -- one of the world's largest -- has a notoriously bad safety record but remains the main form of long-distance travel in the huge country despite fierce competition from private airlines.

India's worst rail accident was in 1981 when a train plunged into a river in the eastern state of Bihar, killing an estimated 800 people.