According to the Highway Patrol, 34-year-old Dennis Baines Cannon was drunk and swerved off the road, hitting the tow truck and the driver, who was helping a motorist at about 10 p.m.
The tow truck driver, 27-year-old Jason Paul Caviness, died at the scene.
Cannon was driving a 2000 Jeep Grand Cherokee.
He is charged with DWI and felony death by motor vehicle. He is in the Durham County Jail on a $1 million bond.