Kyle Ryde claimed the lead from the open, keeping Hector Barbera in second place and Glenn Irwin moved back to third, before Andrew Irwin knocked him off a podium place. James O'Halloran was quickly nudged out of the leading group and would ultimately finish in eighth.
Andrew Irwin then leapt into second on the third lap with the then-fastest lap.
Danny Buchan, one of the season's favourites for the overall competition, spilled on a chicane on lap four to end his race.
Ryde was pushed down into third when both Irwins battled their way past the race leader, with Josh Brookes battling with Ryde to try and push him out of the top three.
Barbera's race was then ended by a cruel technical problem which forced him to retire while still in fourth place, and there was another engineering problem when Ryde fell back slowly down the pack, allowing Brookes into third.
Watch thrilling BSB finish as Andrew Irwin pips brother Glenn at Donington Park
Glenn Irwin was leading with eight laps to go, with Brookes moving in behind him to split the two brothers. Two laps later, Brooks had the gap down to less than a tenth of the second and he began putting the pressure on, before moving into the lead on lap 17.
Glenn had a 0.126 second lead over his brother with two laps remaining, and Chris Iddon pushed Brookes all the way for third place. There was late drama on the remaining corners as Andy kept pushing but Glenn and able to hang on for victory.