The wreck happened around 1:15 p.m. at the intersection of Poole Road and Barwell Road in Raleigh.
According to officials, a vehicle sideswiped another vehicle both traveling west when one crossed the center line and hit a third vehicle head-on.
Witness David Johnson told ABC11 the little girl had been thrown into the front floorboard. He explained there was a child safety seat for 5-year-old Madison Harper but it wasn't clear how she came out of it.
He said he was just concentrating on giving her CPR.
"I took the baby and brought her over here to the store over here and laid her down. Tried to get her breathing and conscious again. Seems like she wanted to come to but for second and she went out just like I didn't think she was going to make it. But we tried everything we could," he said.
The child was declared dead shortly after arriving at WakeMed; she was in the vehicle pushed head on into oncoming traffic. Two others were injured, but there's no word on their conditions.
Francine Johnson, 60, was charged with misdemeanor death and failure to reduce speed.
Barbara Rohrer, 26, was driving the car carrying Madison. The North Carolina Highway Patrol said she was charged with failure to properly restrain the child.
Madison's family has started a GoFundMe page to help with funeral expenses for the little girl.
An additional GoFundMe page from Moon Runners can be found here: https://www.gofundme.com/gqnxq6-stand-by-stephanie
Want to eat for a good cause? MoonRunners Saloon in Garner will hold a fundraiser Saturday, March 25 from 2 p.m. to 6 p.m. They'll donate 50 percent of all food sales directly to Madison's mom, Stephanie Harper, who is a bartender/server at MoonRunners. There will be live music and other entertainment as well.
Report a Typo