Elite Men Downhill:
The lead time for the men's field went down slowly until three-time world champion Greg Minnaar of South Africa became the first to go under three minutes.
Minnaar started early, since he missed much of the season to injury, but once he was in the Mercedes Benz X-Class Hot Seat, he stayed there through 27 riders, until Belgium's Martin Maes displaced him by 2.4 seconds.
Maes was beginning to look untouchable, as rider after rider failed to match his time. It wasn't until defending champion Bruni came down with five riders to go that Maes was bumped from the lead, and even then only by a slim 0.213 seconds.
The top two spots on the podium were set, with Danny Hart (Great Britain) taking the bronze.
"I had a really good weekend and everything clicked," said Bruni, who has now won three downhill world titles.
"I didn't make any mistakes today and the times were super-close, so I guess that's what made the difference.
"It was dusty and slippery, but still wet in the woods, so it was hard to know where to push, because there were a lot of places you could crash. I'm so happy because it's been a year with a lot of bad results and a few good ones. I couldn't have finished the season in a better way."
Great Britain's Kade Edwards won the junior title.
Full results to follow
Latest on Cyclingnews
Emma Norsgaard: Rocketing to the top with Movistar'Our team is rising and the taste of success is so nice' says Danish champion
Chris Froome hits back: Those that say I’m finished make me laughFour-time Tour de France winner says he 'feels a bit bulky' and must lose weight but will prove his doubters wrong
Pirelli P Zero Race 28mm road tyre reviewPirelli has updated its P Zero tyres with its new Smart Evo compound which is claimed to offer better all-weather grip and lower rolling resistance
Peter Sagan: The Giro d'Italia won't change my futureSlovakian returns to Italy with an eye on points jersey
Thank you for signing up to Cycling News. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.