Alfie Quest walked out of an open door and through three unlocked gates to try to buy a toy.
Staff at Ramsden Infant and Nursery School in Barrow-in-Furness, Cumbria, didn't notice he'd gone because they thought he was being picked up by his mum Kylie at the end of the day.
When she arrived, Alfie was nowhere to be seen and frantic Kylie insisted on calling police – despite teachers pleading with her not to, because they said they could find him by themselves.
Kylie ignored them and asked officers to search for her son, who was found safe 45 minutes later.
The 25-year-old told her local paper: "When I arrived at the school gates to collect Alfie the teachers looked shocked to see me.
"They said he had gone and thought I had already picked him up. They started looking under desks and chairs, and when I said I was going to call the police they asked me not to.
"They were just covering their own backs. I called the police straight away anyway, and officers scoured the area and finally found him."
Alfie crossed a busy road and walked for nearly half a mile to try and buy a toy alien that he wanted.
Kylie said school workers told her 'we will find him' and urged her not to get the authorities involved.
She said: "I ignored them and phoned the police anyway. It was the right thing to do.
"Anything could have happened to Alfie. I was beside myself. I kept thinking, what if a paedophile had snatched him?
"It was terrifying. The relief was overwhelming when we found him. I started crying, and then he started crying because I was.
"I have told him he must never wander out of school again, but because of his learning difficulties it is hard for him to understand.
"He was trying to buy a toy alien. He had been asking me for one for a while."
Headteacher Nicky Brewerton insisted that she did not behave inappropriately.
She said: "All I know is that somebody told me mum is ringing the police, and I said 'good' because somebody should."
She added that she would launch an internal investigation into the incident. Kylie has since moved Alfie to a different school.
Police confirmed that they had been called to the school to help look for the five-year-old, and found him after around 35 minutes.