Daniel Harper hunted down points leader Tom Gamble to snatch a second win of the weekend at Rockingham and further strengthen his title ambitions in the Ginetta Junior Championship.
Gamble started the race from pole position courtesy of his victory in race two, with Harper alongside him on the front row in front of the live ITV4 television cameras.
Harper initially slipped to third behind Sebastian Priaulx through the turn one banking, which kicked off a thrilling battle between the two over the opening few laps.
After trading positions on lap two, Harper eventually made a decisive move into the Deene hairpin on lap three and set his sights on the leader ahead.
Gamble had benefitted from the battling to build a one second lead, but Harper quickly eradicated that as he posted the fastest lap of the race in his Douglas Motorsport G40.
After pressuring the leader for a lap, Harper made his move into Deene on lap eight to take the lead, which he maintained to the flag for a fifth victory of the season so far.
Gamble and Priaulx completed the podium behind to ensure all three drivers ended the weekend with top three hat-tricks as their title battle continues to close up.
There was a great multi-car battle for fourth place over the first half of the race, with Harry King and Jordan Collard eventually breaking away to duel for the position.
King took the position on the road, but in doing so he made contact with Collard and the positions were switched post-race courtesy of a time penalty for the Knockhill race-winner.
Luke Browning took his first Rookie Cup victory in sixth overall, with runaway class leader Kiern Jewiss left to settle for seventh after a close battle with Ruben Del Sarte.
After battling for fourth in the early stages, Tom Wood eventually slipped to ninth ahead of Tom Canning and Adam Smalley, with Finley Green a strong twelfth.
Series debutants Louis Foster and Emily Linscott completed their maiden weekends in thirteenth and eighteenth respectively, while Connor Grady recorded his third consecutive DNF.
Full race results can be found here: http://tsl-timing.com/event/173403/session/rc3gij