11-year-old Jack Humphrey fell out of a tree and was impaled on an 8ft railing through his his arm.
The English boy was left dangling in agony until a passing dog named Spike came running and raised the alarm with his barks.
Spike’s owner James Harrigan had been walking his pet nearby in Middlesbrough.
The 39-year-old followed his dog’s calls and found injured Jack and immediately rang emergency crews.
But he had to hold the child in the air for 40 minutes until rescuers arrived so Jack did not tear his arm further.
Fire crews cut down the fence, which was lodged in Jack’s wrist next to a major artery.
Mr Harrigan, who lives close to Jack in Middlesbrough but did not know him before the accident, said: “Spike just shot off right to where Jack was. He was like Lassie.
“I followed him and when I got there, there was a boy on the fence saying he was stuck.
“He was stuck on three metal spikes at the top of the fence and he tried to jump off the fence before I could get to him, but tore his arm badly. He was still stuck there.
“I called the ambulance, fire and police and I held him up with my shoulder under his bottom.
“I lifted him right up so he didn’t tear his arm any more.
“He was just so calm and brave. I tried to get him to talk about cars and things.
“When the emergency services started trying to cut him free, they tied me to the fence so I could keep hold of him while they got him down.
“I managed to hold him up there for 40 minutes, but then I collapsed as I could not hold him any more and one of the firemen took over.”
The Great North Air Ambulance landed at the scene and James was airlifted to The James Cook University Hospital, in Middlesbrough, for treatment.
Last night, Jack’s mum Anne Marie Stephenson said: “I just can’t thank James enough. To me what he did was dedication. He is a real hero.”