The 19-year-old woman was in the parking lot of the Harris Teeter at 9600 Falls of Neuse Road when the suspect allegedly approached her.
The woman's fiancé spoke to ABC11 Eyewitness News off camera Wednesday. He said the teen got into her car and was putting her grocery bag on the floor when a strange man opened her door, covered her mouth and started punching her as he tried to push her into the passenger seat.
The young woman ran into Harris Teeter bleeding and screaming for employees to help.
"She just but broke down and screamed at the top of her lungs, 'Somebody please help,'" eyewitness Cris Arevalo said.
She was Arevalo's customer in Harris Teeter minutes earlier.
The woman told police she was attacked as she got into her car. A strange man punched her and tried to push her from the driver's seat to the passenger's seat. She kicked, fought and was able to get away.
"She didn't want anyone to leave her because she was so afraid," Arevalo said.
A manager and others left the store and chased the suspect through the parking lot and across the intersection of Falls of Neuse and Durant roads and into the woods.
The suspect, 54-year-old Thomas Stamps of Wake Forest, is charged with second-degree kidnapping and assault.
"You don't think something like that is going to happen around here," shopper Regina Naugle said.
Another regular Harris Teeter shopper says the incident makes her worry.
"Being a woman and a mom, it makes you worried about being attacked yourself," Geetu Deogun said. "Especially in a nice neighborhood. I'm shocked."
Both women find some comfort that Stamps is now in jail thanks to some fast acting Harris Teeter employees.
"We always hear on the news that people got away and you always wonder when will it happen again, so luckily he was stopped," Naugle said.
The young woman's fiancé also says they feel the employees at the Harris Teeter are heroes.
And although the 19-year-old is expected to be okay physically, emotionally, her fiancé says it will take some time.
Stamps is being held in the Wake County Jail in lieu of bail.