It happened just after 5 a.m. at Creedmoor Road and Old Weaver Trail.
The Highway Patrol said an SUV driven by Carlos Jose Machado, 24, of Creedmoor ran off the road, overcorrected and then crossed the center line and rolled over.
Machado was standing in the roadway, troopers said, and his vehicle was upside-down in the roadway when a passenger car going south on NC 50 driven by 21-year-old Austin Tingen, of Bullock, struck Machado and Machado's SUV.
Machado sustained life-threatening injuries. Tingen and a passenger, Randall Gates, were also hospitalized.
All three were taken to Duke Hospital.
Charges are pending. The investigation is ongoing.
Click for traffic