Another child in the car, a nine-year-old boy, was flown to Royal Children’s Hospital with facial injuries and is in a stable condition.
His 37-year-old father, the driver of the car, was taken by road ambulance to Ballarat Base Hospital with minor injuries.
The crash also killed the family’s dog, a Staffordshire terrier.
Victoria Police Detective Sergeant Paul Lineham told Nine News it was an accident that didn’t have to happen.
“This is absolutely devastating. Again, this collision was completely and utterly avoidable,” he said.
“We’ve got a family of four on the road here, we’ve got two people now, one a child… now deceased. These things shouldn’t be happening.”
The truck driver, a 57-year-old man from Western Australia, spent two hours with detectives. He was taken away for further testing and remains at Ballarat Police station where he is expected to be charged with dangerous driving causing death.
The Allendale-Kingston Road is closed in both directions, with police urging motorists to avoid the area.
The road toll for 2019 is now at 263, compared with 211 fatalities on Victorian roads at the same time last year.