Matt Neal took his 50th British Touring Car race victory after a dramatic final lap at Thruxton.
The works Honda driver was briefly relegated to fourth on the first lap, before contact between Jason Plato's MG and Gordon Shedden allowed him into second.
Shedden had overtaken poleman Andrew Jordan at the start and Plato tried the outside line for Campbell to give him the inside for Cobb to overtake Jordan.
That looked like being successful, but such was Plato's speed he nudged the rear of Shedden's Civic. The reigning champion held it, but then swept across the track, causing more contact with Plato that took the Civic off.
Jordan thus retook the lead, chased by Neal and Plato. Only Neal could stay with the Eurotech Honda as Plato started to fall back.
The lead gap hovered around a second and Jordan looked in control - and set to take the championship lead - until a front-left tyre blow-out sent him off on the final lap, relegating him to 11th.
Neal was left to take an easy win, while Plato held off a charging Tom Onslow-Cole to secure second.
Onslow-Cole ran fifth in the early stages before passing Sam Tordoff's MG at the chicane just before half-distance. The Team Hard VW Passat then closed on Plato, but could not find a way by the double champion.
Tordoff took fourth from Eurotech's Jeff Smith. After qualifying sixth, Smith fell to 10th on the opening lap but recovered to complete the top five.
A fast-starting Colin Turkington finished sixth in the lead WSR BMW, holding off a feisty Mat Jackson. The Motorbase Ford driver looked much more competitive in the race than qualifying, passing several cars on his way to seventh from 13th on the grid.
The S2000 class once again proved hard-fought. Joe Girling's Chevrolet Cruze led initially before being overtaken by Lea Wood's Vauxhall Vectra and the AmD VW Golf of James Kaye.
Girling then went off, Kaye overtook Wood, only for the VW to hit technical trouble, and Liam Griffin moved to the front in his Motorbase Ford Focus.
Griffin then kept the NGTC Audi of Rob Austin between himself and Wood for much of the race to secure Jack Sears Trophy honours.
Results - 16 laps: Pos Driver Car Time/Gap 1. Matt Neal Honda 21m14.471s 2. Jason Plato MG + 6.663s 3. Tom Onslow-Cole Hard VW + 7.522s 4. Sam Tordoff MG + 9.579s 5. Jeff Smith Eurotech Honda + 10.205s 6. Colin Turkington WSR BMW + 14.803s 7. Mat Jackson Motorbase Ford + 15.454s 8. Dave Newsham Speedworks Toyota + 15.899s 9. Aron Smith Motorbase Ford + 16.104s 10. Adam Morgan Ciceley Toyota + 16.735s 11. Andrew Jordan Eurotech Honda + 19.579s 12. Jack Goff Hard Vauxhall + 24.298s 13. Rob Collard WSR BMW + 25.696s 14. Daniel Welch Welch Proton + 30.506s 15. Frank Wrathall Dynojet Toyota + 31.230s 16. Ollie Jackson Speedworks Toyota + 34.999s 17. James Cole Hard Vauxhall + 49.959s 18. Will Bratt Austin Audi + 50.617s 19. Rob Austin Austin Audi + 53.876s 20. Liam Griffin Motorbase Ford + 54.676s 21. Lea Wood Wood Vauxhall + 55.845s 22. David Nye Motorbase Ford + 1m01.177s 23. Joe Girling Finesse Chevrolet + 1m01.911s 24. Nick Foster WSR BMW + 1m06.255s 25. Gordon Shedden Honda + 1m20.151s Retirements: Warren Scott BMR SEAT 2 laps James Kaye AmD VW 8 laps