The driver of the car, believed to be a 17-year-old man, died at the scene.
His front seat passenger, believed to be a 19-year-old man, was unconscious after the crash in Perthshire.
He was cut free from the car by firefighters and taken to Ninewells Hospital in Dundee.
The 50-year-old-man driving the van was also taken to Ninewells Hospital with facial and suspected spinal injuries.
The crash happened shortly after 6.30am on the A93 Perth Road, five miles south of Blairgowrie, near Meikleour, Tayside Police said.
A spokeswoman for the force said: "At this stage it is not clear which direction the vehicles were travelling in at the time of the collision.
"The road has been closed whilst crash investigators work at the scene. Diversions are in place."