The accident unfolded at about 2:35 a.m. on I-95 south in Stafford County, about 45 miles south of Washington, D.C., the Virginia State Police said.
As traffic slowed for a work zone, a bus did not slow down and struck six vehicles, killing five people in the cars, police said.
Thirty-four people were taken to hospitals, including three with critical injuries, police said.
The crash initially closed all lanes of I-95, Virginia's Department of Transportation said, causing massive delays for the Friday commute. Northbound lanes have since reopened.