Two wins for Millar (R Racing) and one for McNeilly (Fox Motorsport) mean that they will go head-to-head for title glory in the season finale at Brands Hatch (23/24 October), while Robert de Haan (Richardson Racing) and Callum Voisin (R Racing) will battle for rookie class honours.
Millar got his weekend off to a perfect start by setting the pace in qualifying for a second consecutive weekend. McNeilly was just 0.033s adrift, with those positions switching around for race two on second best times.
Assetto Motorsport duo Joe Wheeler and Harri Reynolds enjoyed seasons’ best qualifying results in third and fifth respectively, with leading rookie de Haan splitting them on the timesheets. Seb Hopkins (Elite Motorsport), a title contender heading into the weekend, had to settle for sixth.
A great launch off the line put McNeilly into the lead heading through Redgate for the first time, with Millar slotting into second. A move at the same corner next time round moved de Haan into third ahead of Wheeler, shortly before the safety car was introduced.
There were only two laps after the restart before the safety car was back out on track again, but that was just enough time for the lead to change hands again. Millar got a great run out of Redgate to sweep past down the Craner Curves into the Old Hairpin.
An action-packed restart saw it change at the front again as Millar dropped back from first to third across the lap, with McNeilly and Hopkins moving to the front. De Haan had challenged for second, but a wide moment dropped him back to sixth.
Millar got back to second on the penultimate lap, limiting his points lost to McNeilly who went on to score a fourth win of the campaign. A brilliant final lap for Jamie Osborne (Assetto Motorsport) saw him rise from seventh to third for a maiden podium finish in the series.
As Hopkins dropped to tenth on the final lap, Ginetta Junior scholar de Haan fought back to the rookie class win in fourth overall ahead of Wheeler and Reynolds. Will Jenkins (Elite Motorsport) rose four places to seventh ahead of team-mate Josh Rowledge.
A great run from Aqil Alibhai (Breakell Racing) saw him climb from 15th on the grid to ninth place ahead of Hopkins, while less than two tenths of a second separated R Racing trio Freddie Tomlinson, Josh Miller and Voisin as they took the chequered flag.
James Higgins (Preptech UK) and the returning Max Dodds (Assetto Motorsport) rounded out the top 15, while Fergus Chalmers (Preptech UK) unfortunately slipped to 16th after a career-best ninth in qualifying. Max Hall (Elite Motorsport), Zac Meakin (Raceway Motorsport), Joe Warhurst (Elite Motorsport) and Ian Aguilera (R Racing) completed the points-paying places.
The second race of the weekend proved to be one of two halves due to a red flag stoppage mid-race. Millar led every lap to that point, with a challenge for the lead by McNeilly ultimately dropped him back to third behind de Haan.
The action restarted with a six lap sprint to the finish, with Millar leading the first couple of tours before a dramatic change saw him shuffled back to fifth. De Haan seized the advantage, however next time round he found himself pushed down to fourth place.
Rowledge replaced him at the head of the pack as he led a Ginetta race for the first time, however his quest for a maiden overall win / podium was foiled on the last lap. Finding himself hung out to dry on the outside through McLeans and Coppice, he fell to fifth by the end of the race.
The race victory therefore went to Millar after a great comeback performance. McNeilly followed him home in second to minimise the points swing between the two, with de Haan taking the chequered flag in third place.
Hopkins led home his team-mate Rowledge in fourth, while a battling performance from Voisin netted him seventh behind Reynolds. Jenkins was next up ahead of Assetto pair Wheeler and Dodds, with Meakin and Tomlinson narrowly missed out on a top ten berth.
Edward Pearson (Richardson Racing) bouncing back well from a race one DNF to climb to 13th. Ginetta Junior scholar Maurice Henry (Fox Motorsport), Jacob Hodgkiss (Race Car Consultants) and debutant Sonny Smith (Hybrid Tune Ltd) also made good progress through the race.
The final race of the weekend was televised live on ITV4, with Millar and McNeilly producing an incredible battle for the victory. The top two immediately broke away from the pack behind and ran nose-to-tail for the majority of the race, before McNeilly finally made his move on lap nine.
Millar hit back a few corners later at McLeans, before McNeilly rose to the fore at the same place a lap later. Their fight was decided on the penultimate lap, as a switchback move out of Coppice netted Millar a second race of the day and fifth of the season.
Behind them, there was a huge scrap for third place. Rowledge, Voisin and de Haan held the spot at points, before Reynolds swept through on the last lap. He was deemed to have cut the chicane to take the place though, with a post-race penalty putting him behind Voisin in the final result.
De Haan joined them on the rookie podium to complete a weekend in which he built his class points lead, with Rowledge completing the top six. Jenkins led another close pack behind, with Dodds, Wheeler and Hopkins rounding out the top ten.
One of the drives of the weekend came from Luke Watts (R Racing), who stormed through from 29th on the grid to 16th at the finish. Osborne had impressively risen from 20th to 10th on the opening lap alone, but was shuffled back again as the race progressed.
Watts was joined by AJ Rock (Team HARD) and Haydn Chance (Preptech UK) in making their second appearances of the season following debuts last time out at Silverstone, with those two taking best finishes of 21st and 25th respectively.
Jack Sherwood (Elite Motorsport) fought back from a race one DNF to a best of 25th in the final race, while Adam Brown (Ultimate Speed Racing) narrowly missed out on a points finish with 22nd in race one.
The 2021 Michelin Ginetta Junior Championship comes to an end in two weeks’ time (23/24 October) with three races around the Brands Hatch Grand Prix circuit.
Full race results for the weekend can be found here: https://www.tsl-timing.com/event/214003