Ten people have been killed and dozens injured in Australia's worst rail crash in 30 years.

A passenger train collided with a huge truck at a level crossing on the Murray Valley Highway about 10km north of the town of Kerang in Victoria.

At least 13 people remain unaccounted for as emergency services search the wreckage for survivors.

Witnesses reported the vehicle slammed into the train, nearly derailing it and leaving a gaping hole in the side of one carriage.

About 40 people were hurt, 12 of them seriously.

Six ambulances, two helicopters and two fixed wing aircraft were ferrying the injured to hospitals in the area and in Melbourne, 280km to the south.

The train had left Swan Hill in the north-west of Victoria state at 1pm local time (4am Irish time) and was due to arrive at Southern Cross station in Melbourne at about 5pm, but hit the truck about 40 minutes into the journey.