Championship leader Marquez had kept the lead off the line, and he and Navarro began to rapidly make a break for it, putting a second between themselves and the chasing pack after just two laps.
Navarro challenged Marquez on the Hangar Straight on the third lap, but Marquez saw off the Speed Up rider’s challenge and began to edge away from his compatriot.
However, on the sixth lap Marquez lost the front heading into Brooklands, consigning himself to a third non-score in 2019 and admitting afterwards he had paid the price for overconfidence.
His crash left Navarro with well over a second in hand, but Brad Binder and Fernandez – who both had overtaken Remy Gardner just moments prior to Marquez’s crash – quickly began to eat into Navarro’s advantage.
They were both right with Navarro on lap 12 of 18, and Binder sent it down the inside of Navarro at Brooklands to snatch the lead.
Yet Navarro rebuffed Fernandez’s subsequent attacks and stayed with Binder, before drafting past Binder on the Hangar Straight with just over three laps left to run.
Fernandez then passed Binder out of the Loop, with the KTM rider responding into Brooklands but then getting run out wide exiting onto the main straight,
And as Binder then retook the spot once more into Copse, Navarro was now half a second in the clear.
Yet Fernandez re-passed Binder out of Copse on the penultimate lap and edged right back up to Navarro in time for the final lap, before squeezing past on the inside of Vale.
Navarro picked up Fernandez’s slipstream but ran wide challenging for the lead into Brooklands, allowing Fernandez to romp to victory by half a second.
Binder saw off a late challenge from Gardner to pick up the final spot on the podium, with Gardner’s teammate Tetsuta Nagashima making up the top five.
Navarro’s rookie teammate Fabio Di Giannantonio led Fernandez’s Pons partner Lorenzo Baldassarri in sixth, ahead of Tom Luthi and Luca Marini.
Xavi Vierge ran as high as third on the opening lap, but ultimately finished only 10th.
Aprilia MotoGP tester Bradley Smith, racing as the third different stand-in for injured Petronas Moto2 rider Khairul Idham Pawi, had served a three-place grid penalty before the start as a consequence of his collision with Aleix Espargaro in the Barcelona MotoGP race.
His first Moto2 start since 2012 ultimately ended with a crash at Luffield around the halfway point of the race.
Despite his crash, Marquez retains a 35-point lead in the championship, with Fernandez, Luthi and Navarro all level on points in second place.