Police say a car dragged a man for about four miles before another motorist alerted the driver that the victim was under the vehicle.
The accident occurred Saturday on Richmond Road in James City County.
Police tell media outlets that the 31-year-old victim and the driver were racing when the victim lost control of his car. The vehicle hydroplaned, spun several times and hit a tree. The victim was ejected.
The other car ran over the man and dragged him. The driver told police he thought he had run over debris from the wreck.
Police say the victim suffered serious injuries and was taken to a hospital. Two passengers in his car, an 8-year-old girl and an 8-year-old boy, suffered non-life threatening injuries.
No charges have been filed.