Bagnaia was involved in a horrific incident on the opening lap of the grand prix while leading, after he was flung from his Ducati exiting Turn 2.
The world championship leader then had his leg run over by KTM’s Brad Binder, who could do nothing to avoid him.
Seconds earlier, Bagnaia’s team-mate Enea Bastianini triggered a multi-rider incident at Turn 1 that took down Pramac’s Johann Zarco, Gresini duo Alex Marquez and Fabio Di Giannantonio, and VR46’s Marco Bezzecchi.
The race was red-flagged as Bagnaia received medical attention, with the Italian later taken to hospital in Barcelona for further checks.
Bastianini has also gone to hospital, with the factory Ducati team absent from the 23-lap restarted grand prix.
Bagnaia is thought to have largely escaped any serious injuries, with the Italian undergoing scans to confirm he has not suffered any fractures to his leg.
Bastianini, meanwhile, is thought to have suffered fractures to his hand.
The race got back under way at just before 2:25pm local time, around 25 minutes after the original start, with Pramac’s Jorge Martin briefly upholding Ducati honour by jumping into the lead from fifth.
But this lasted all of three corners, as Maverick Vinales carved into the lead on his factory Aprilia, with team-mate Aleix Espargaro eventually moving into second on lap three.
RNF Miguel Oliveira made it an Aprilia 1-2-3 on lap four when he moved through on Martin, though the factory duo had already started to build up a gap.
By lap nine, Vinales and Espargaro were two seconds up the road from Oliveira, who would soon come under attack from Martin.
The pair ran line astern, but on lap 11 the gap suddenly jumped up between them to 1.3s as Espargaro seemingly made an error somewhere off-screen.
Espargaro regrouped, though, and cut the gap down to 0.8s on lap 14 and 0.6s two tours later.
As they started lap 19, Espargaro was just 0.2s adrift and took the lead into Turn 1 next time around, drawing alongside his team-mate down the straight before outbraking him.
The Aprilia duo got close, with Vinales forced to run wide through Turns 1 and 2, which ultimately boosted Espargaro to a 1.1s lead come the end of the tour.
Both Aprilia riders battled severe front tyre graining and made numerous errors across the final few laps.
But Espargaro – a year on from miscounting how many laps he had left in the 2022 Catalan GP – got his RS-GP to the chequered flag to complete the double in Barcelona, with Vinales completing Aprilia’s first ever double podium in MotoGP in second.
Espargaro went on to dedicate his win to Bagnaia, adding he was "very worried" after the crash.
Vinales later revealed he did not have a fresh rear tyre for the restart, which contributed to his drop in pace late on.
Espargaro eased off through last corners to lead Vinales by 0.377s, while Martin rounded out the podium 2.4s adrift. On the cooldown lap, both riders swapped bikes to ride back to pitlane.
With Bagnaia out and potentially facing a spell on the sidelines, Martin is now 50 points down on the factory Ducati rider in the championship.
Johann Zarco was fourth on the second Pramac bike after overtaking Oliveira late on, while Alex Marquez was able to take the restart and finish sixth.
Fabio Quartararo recovered from 18th to finish seventh on the factory Yamaha ahead of KTM’s Jack Miller, Tech3 rookie Augusto Fernandez and Gresini’s Fabio Di Giannantonio.
The VR46 duo led each other across the line in 11th and 12th, with Luca Marini ahead of Bezzecchi, who was forced to race with the soft front tyre after his only medium was left unusable in the Turn 1 crash.
Bezzecchi is now 71 points off the championship lead.
Marc Marquez opted for the soft rear tyre on his Honda and faded to 13th in the closing stages ahead of Yamaha’s Franco Morbidelli and LCR Honda’s Takaaki Nakagami.
Iker Lecuona was 16th on the sister LCR Honda, with Joan Mir the final finisher on the factory team Honda.
Technical problems forced Tech3’s Pol Espargaro, Brad Binder and RNF’s Raul Fernandez out early on.