Police said the driver, Roger Self, was arrested after the car had smashed its way fully inside into the restaurant in Bessemer City, about 50km west of Charlotte.
Authorities did not immediately make clear what charges Self faces though authorities said they were opening a homicide investigation.
The Gaston Gazette identified Roger Self as a businessman from Dallas, North Carolina.
Charlotte-Mecklenburg police spokesman Rob Tufano called the crash a "mass casualty" incident, and reports said some of the victims were flown by helicopter to Carolinas Medical Centre.
There was no immediate report on the number of injured people or the severity of their injuries.
"He drove his car into the building, killing people, so that's why we took him into custody immediately," Bessemer City Police Chief Thomas Ellis said.
Photographs taken at the scene showed a shattered opening in a restaurant wall, where the car had smashed inside the building.
The Gaston Gazette reported that wait staff said Self had initially taken his family into the restaurant and had them seated.
He then went back out to his vehicle and drove at a high rate of speed into the area where they were sitting, they said.
The newspaper identified the vehicle as a Jeep.
Katelyn Self was a four-year veteran of the Gaston County Sheriff's Office, Sheriff Alan Cloninger told the Charlotte Observer.
She worked as a corporal in the jail and was off duty when she was killed.
Cloninger choked up as he spoke about the crash. "We're suffering a little bit right now," he said.
A 2017 profile in the Gazette said Roger Self ran a private investigations business called Southeastern Loss Management.
It said the business opened in 1989 and mostly helped companies investigate employees' wrongdoing.
-AP