The passenger train was 40 minutes into its journey to Melbourne when it collided with a truck at a level crossing.
Witnesses said the impact was so severe, carriages flipped over and at least one was ripped open down one side.
Emergency teams raced to the scene just north of the farming town of Kerang in central Victoria.
More than 50 people were injured, with several in a serious condition. The death toll reached 10 as the evening wore on.
Air ambulances took the most serious casualties to hospitals as far away as Melbourne.
Hospitals in the Kerang area were put on standby to receive the less seriously wounded.