Oliver Mauricio Funes Machada, 18, was arrested after he alerted authorities himself and was still on the scene when Franklin County deputies arrived.
The teen was seen walking out of his house holding his mother's head in one hand and what appeared to be a large knife in the other, police said.
Mr Funes Machada was taken into custody and charged with first-degree murder.
Police found the body of 35-year-old Yesenia Funez Beatriz Machado inside the home along with two young girls, who were unharmed. A fourth child was at school.
Franklin County Sheriff's Office Chief of Staff Terry Wright said Ms Machado's husband arrived on the scene hours later.
"It's a terrible situation for the family, a terrible situation for the neighborhood and this county. I'm just glad things worked out the way they did and no one else was hurt in taking the suspect into custody," Mr Winstead said.
A motive for the killing is still unknown.
A teen in rural North Carolina has been charged with decapitating his mother in what police called a "gruesome scene".