Brookes and Irwin tussled in the opening lap before the latter took a lead heading into Riches.
Glenn Irwin extends championship lead with Race 6 win at Snetterton
Moments later and Danny Buchan crashed into Bradley Ray at Agostini to make for the Massingberd-Mundy Kawasaki rider's second race crash in a row.
Watch Josh Brookes storm to victory in BSB Round 5 at Snetterton
Brookes raced back into the lead in the third lap with him and Irwin would continuing to battle at the front. Irwin tried to take the lead at Agostini, but he ran wide to allow Brookes back in to first.
Brooks managed to hold off challenges from Irwin, Tommy Bridewell and Lee Jackson to seal the victory. Irwin finished second and Bridewell third.
'Woah!' - Danny Buchan furious as he crashes at Snetterton
RYDE TOOK WARM-UP TOP SPOT
Kyle Ryde topped Sunday morning's warm up session, waiting until his final lap to pip pacesetter Glenn Irwin and posted his fastest time which put the Buildbase Suzuki rider 0.202s in front ahead of rounds five and six.
Danny Buchan fastest in first Snetterton practice
Brands Hatch GP
Salute the champion: Josh Brookes wins second BSB title