Ten-year-old Ke'aundre James was on the bus headed to school when he "heard yelling and cussing in the front" -- and spotted a man with a rifle.
The gunman "was telling the bus driver, 'Close the doors, take me to the next town over. Go, go, go.' And stuff like that," Ke'aundre told ABC News.
So Ke'aundre called his parents.
"I was telling him [his father] I was being held hostage, and my mom and my dad started freaking out," the fourth grader said. "They got in the car and I told them where we was going."
When the gunman told the children to move to the front, Ke'aundre said, "I put my phone on silent and I put it in my pants and put my jacket down over it."
"Somewhere close to the next town over," Ke'aundre said, the hijacker "made everybody get out."
Neither the bus driver nor the 18 Forest Lake Elementary students were physically harmed in harrowing incident in Thursday morning in South Carolina.
The suspect, a 23-year-old Fort Jackson trainee, Jovan Collazo, was taken into custody.
Collazo's Army-issued rifle did not have ammunition, Fort Jackson Commander Brig. Gen. Milford H. Beagle Jr. said at a news conference, adding that the children and driver could not have known that at the time.
When Ke'aundre's mother, Carolina Esenwein, got her son's phone call, she said she "went into panic mode."
Esenwein and her husband jumped in the car and started searching for the bus.
"I was trying to call my son's phone at this time and I was texting him and he wasn't returning my phone calls or my texts, so I just started freaking out. I didn't know what was going on. You hear all of this stuff in the news with people doing random shootings and kidnaping of kids," she said.
Esenwein was on the phone with the school when Ke'aundre told her all of the children were off the bus. She had Ke'aundre spell a road sign so they'd know where to find him.
The students were taken to school where they received support from counselors and were reunited with their parents, the district said.
"I felt so thankful," Esenwein said. "Relieved. ... It was beautiful."
The ordeal began when Collazo fled Fort Jackson, officials said. Collazo went to a bus stop where he allegedly stormed the vehicle and "told the bus driver he didn't want to hurt him, but he wanted him to drive him to the next town," Richland County Sheriff Leon Lott said.
As the bus driver drove, Collazo brought the children to the front of the bus, Lott said.
"The kids started asking lots of questions to the suspect if he was going to hurt them or the bus driver," Lott said at a news conference.
Six minutes into the alleged hijacking, the driver pulled over and the children and the bus driver got off safely, Lott said.
Collazo allegedly drove the bus for a few miles before abandoning it, leaving the rifle inside, Lott said. Collazo was later booked on charges including kidnapping.
Beagle said it appeared that Collazo, a New Jersey native in his third week of training at Fort Jackson, was trying to get home. Fort Jackson officials issued an apology, saying in a statement, "This was a failure in our accountability procedures that we truly regret and are apologetic to our community."
After the incident, Ke'aundre said, "Me and my friend were talking about a bunch of things. How the children aren't supposed to experience that ... And after we got off the bus, I let him use my phone to call his mama, and his mama came up to the school to pick him up. "
"I'm just very proud of my son for being strong and being smart enough to know to call me," Esenwein said. "We have raised him very well."
ABC News' Rachel Katz and Isha Battu contributed to this report.