The incident happened around 8.30pm last night.
Police are appealing for information after reports of three teenagers being attacked on Granton Square last night.
The 13-year-olds were on their way home when a man approached them and initially offered to give them marijuana, said the mother of one of the boys, who does not want to be identified for fear of a second attack on the teenagers.
"He was initially offering them weed but then he started punching my son's hands," she said.
"He suddenly then punched him twice in the stomach.
"He then said he could kill him with one punch and proceeded to try to punch him in the throat but thankfully my son was able to dodge it."
All three children were 'very scared', she added.
They eventually managed to escape, and returned home 'shaken but okay'.
"The three of them are pretty shaken and in a bit of shock. None of them slept very well last night," said the mother.
"I'm shocked by it myself too, and I'm just so angry that this has happened to them. It's just so unfair, they were just trying to get home safely."
"I wouldn't be surprised if they are afraid to go out on their own in future," she said.
The man is described as in his mid to late thirties, with short hair and a stocky build, wearing a grey tracksuit, black Nike trainers and a Nike baseball cap.
"He had a tattoo on his forearm which said “outlaw” in large bold writing, it was a very distinctive tattoo so we hope it might identify him," the mother said.
"I really hope the police find him," she added.
Police Scotland has confirmed that officers were notified of the incident.
A spokesperson said: "Police Scotland can confirm that a report has been received relating to an unidentified man approaching three teenagers at Granton Square in Edinburgh.
"The incident happened around 8.30pm on Monday, 11 November.
"Inquiries are ongoing to establish the full circumstances and anyone who may have information is asked to contact police on 101, quoting incident 3660 of November 11.
"Alternatively call Crimestoppers anonymously on 0800 555 111."