Ballabriggs was an emotional winner of the John Smith's Grand National for Donald McCain, son of Aintree legend Ginger McCain, the trainer of Red Rum.
The 10-year-old was prominent throughout, but appeared to be running on empty after the final fence as Oscar Time, ridden by Sam Waley-Cohen, the amateur jockey who also won the Cheltenham Gold Cup, loomed large.
However, Jason Maguire's mount (12-1) found more on the gruelling run to the line to take glory in the world's greatest steeplechase by two and a quarter lengths.
Tony McCoy gave last year's winner Don't Push It every chance and the top weight put up a gallant defence of his crown to finish third.
Another National veteran, State Of Play, flew home to finish fourth.
Maguire had to pass the doctor on Friday after a bad fall 24 hours earlier and he was in danger of missing the ride.
Maguire could have ridden Silver Birch in the 2004 renewal but stayed loyal to McCain's Cloudy Lane and probably thought his chance of glory had gone.
But he gave Ballabriggs a fantastic spin, jumping for fun at the head of affairs.
For McCain, it is the culmination of an ambition to join his father on the roll of honour.
Winning owner Trevor Hemmings said: "It's great. I had my heart in my mouth but it has all worked out.
"Congratulations to Donald and all the team for all the hard work they have done."
Maguire said: "This is crazy. I've got to thank Donald, Mr Hemmings, my mother and father, everybody. It's a dream come true."
McCain said: "It's just fantastic. And to win it for Mr Hemmings as well, this race means as much to him as it does to us.
"It's great for Jason because he missed out on Silver Birch.
"We've always thought this might be an Aintree horse and you only need to see the way he's taken to this place today.
"Good horses are easy to train. Everything has gone smoothly all year and he had a nice prep at Kelso last time.
"He's just an absolute pleasure to deal with, I know he's won a Grand National, but he is.
"Jason got off him after the race but he's all right."Reuse content