Pramac Ducati rider Martin followed up his sprint win on Saturday with another virtuoso display to grab his second grand prix victory in three rounds, and his third of the season, albeit with just 12 of the scheduled 24 laps being completed.
With full points being awarded, Martin moves to within three points of championship leader Bagnaia with six weekends remaining.
Marc Marquez meanwhile was third, picking up a first podium finish in almost a year at Honda’s home race, while Marco Bezzecchi was fourth on the VR46 Ducati.
Although some spots of rain fell before the start, the entire field selected slick tyres for the warm-up lap, only for the heavens to open shortly after the race itself began.
KTM rider Jack Miller passed poleman Martin to lead a group of 16 riders that pitted at the end of the opening lap to change to their wet bikes, with the remaining five, led by Ducati tester Michele Pirro, bravely staying out on slicks.
It was Martin who led the wet-shod group after the stops, but he conceded the net lead to Aprilia’s Aleix Espargaro on the third lap when he ran wide at Turn 3.
Espargaro then took the lead proper when Pirro pitted at the end of lap four - the other slick-shod riders having by now changed to wets or been swallowed up by the pack in the worsening conditions - with Marquez his nearest pursuer.
But Martin was soon on the charge, passing Bezzecchi and then Marquez on the fifth lap to get back into third, with Bagnaia having taken second away from Marquez.
On lap six, Martin swept ahead of Bagnaia at Turn 9 for second, and two corners later he outbraked Espargaro to grab the lead.
By the time of the red flags, Martin was 1.6 seconds clear of the field, with Espargaro dropping back behind Bagnaia, Marquez and Bezzecchi at the point the race was suspended.
After a delay of just over 20 minutes, race organisers attempted a restart but, with conditions still poor, the red flags were displayed again and the race was declared over.
Espargaro ended up fifth, while Johann Zarco was initially sixth but was removed from the classification (and the grid for the abandoned restart) as he crashed on the following lap at Turn 12 just prior to the red flags being shown.
Zarco had fought his way back after being pushed into the Turn 1 gravel on the opening lap along with Aprilia man Maverick Vinales, who was hit by the VR46 bike of Bezzecchi.
Miguel Oliveira was also on-course for a top-six finish aboard his RNF Aprilia before pulling into the pits.
All of that promoted Miller to sixth, while Augusto Fernandez scored his second-best result of his rookie MotoGP campaign in seventh on the Tech3 KTM.
Completing the top 10 were Fabio di Giannantonio (Gresini Ducati), Raul Fernandez (RNF Aprilia) after a long-lap penalty, and top Yamaha finisher Fabio Quartararo.
Quartararo was one of the five riders not to pit on the opening lap, along with Yamaha stablemates Franco Morbidelli and Cal Crutchlow and LCR Honda’s Stefan Bradl, but both he and Crutchlow were next into the pits on lap two.
Crutchlow came away with three points for 13th in his first grand prix since last year’s Valencia finale, while Bradl also picked up two points in 14th after being drafted in to replace the injured Alex Rins mid-weekend.
Race result: