Australian Sam Griffiths came from fifth place on Paulank Brockagh to win the Badminton Horse Trials, with Oliver Townend second and Harry Meade third.
Overnight leader Paul Tapner was fourth after having four fences down.
Griffiths, back in 25th after Friday's dressage, had just one fence down.
"I didn't think I could get back to win it from there," he said. "As a little boy watching highlights of Badminton, it was a great thrill to compete here. To win is a dream come true."
Briton Meade, 30, continued his remarkable comeback from two shattered elbows with third place on Wild Lone as those above him faltered.
Meade, who suffered the career-threatening injuries in a fall at the Wellington Horse Trials last year, said: "It was a dream I had to come back here. I just stubbornly thought I would focus everything towards this week, but it was a very distant goal."
Townend, who finished less than three penalties behind 41-year-old Griffiths' final score of 67.9 on Armada, said the horse was not the most straightforward but had talent.
The 2009 Badminton champion added: "I am thrilled with the result. The reason he is so good at cross-country is because he is tricky in the other two phases.
"At certain points riding the cross-country course, I just thought this was what the sport was meant to be. It is a fantastic feeling when you are on a Ferrari."
Tapner, Badminton winner four years ago, could have afforded to have had two fences down aboard Kilronan and still take the title.
But the Australian knocked down four and second-placed Tim Price of New Zealand and third-placed Pascal Leroy of France also both fell away.
1 Sam Griffiths (Aus) (Horse: Paulank Brockagh) 67.9 penalty points
2 Oliver Townend (GBR) (Armada) 70.7
3 Harry Meade (GBR) (Wild Lone) 71.4
4 Paul Tapner (Aus) (Kilronan) 72.4
5 Pascal Leroy (Fra) (Minos de Petra) 72.5
6 Pippa Funnell (GBR) (Billy Beware) 74.3
7 Tim Lips (Ned) (Keyflow Nop) 78.5
8 Ludwig Svennerstal (Swe) (Alexander) 80
9. Tim Price (NZL) (Ringwood Sky Boy) 80.6
10 Lara de Liedekerke (Bel) (Ducati Van Den Overdam) 83.8