It happened just after 5:30 a.m. Saturday on Highway 165 near Williams Avenue, just outside of Hilmar in Merced County.
The California Highway Patrol says an 18-year-old man was driving south on 165 and tried passing a car in front of him in the fog.
He ended up side-swiping a box truck and crashing head-on with a pick-up truck heading north on 165.
The 18-year-old was taken to the hospital with major injuries.
Two men in their 50s in the pick-up truck were also taken to the hospital with injuries.
A woman driving behind the truck ended up hitting some debris from the crash.
Authorities say fog did play a factor in the crash.