The train was carrying 15 passengers at the time and was partially derailed on impact, the Country Fire Service said.
The truck, which was transporting soil, overturned after the collision, causing a combination of diesel fuel and hydraulic fluid to leak out onto the road.
Read Related Also: 'Holy smokes': Fisher captures encounter with great white shark
Some passengers including a child were taken to the local South Coast District Hospital for treatment to minor injuries.
Petersen Road is closed to all traffic while emergency services work to clear the scene.