Fellow Ducati rider Josh Brookes finished in second place, ahead of Tommy Bridewell.
Iddon made his move early to put pressure on Buchan, whose fall handed him a lead he never looked like passing up, as he claimed his first win after 12 previous podium finishes.
Buchan's fall was the second of the race after Andrew Irwin, who was relegated to the back of the grid due to dangerous driving in Race 3 at Donnington, crashed on the first lap, which led to the Safety Car coming onto the track, after contact with Alex Olsen - who was also forced to withdraw later in the race.
'That is a bent bike!' - Pole sitter Danny Buchan crashes out
While Iddon was fairly comfortable front-running to victory from lap four onwards, behind him there was drama as Bradley Ray overtook Brookes before the positions were reversed on the last lap where Bridewell and championship leader Glenn Irwin also passed the BMW rider.
Tyre comes off Glenn Irwin's bike after crash
Iddon's win moves him into second position alongside Bridewell on 59 points, 14 adrift of Glenn Irwin, ahead of Rounds Five and Six which take place at Snetterton on Sunday.
Earlier, Buchan was the only qualifier under 1 min 48 seconds as he finished ahead of Kyle Ryde, with Ray and Brookes in the second row.