Maximo Quiles continued his unstoppable form in Moto3 by adding another victory to his name in Barcelona. In Moto2, Manuel Gonzalez fought off Celestino Vietti to secure his second win of the 2026 season. Gonzalez and Vietti put on spectacular Moto2 duel
Similar to the Moto3, the Moto2 race got off to a calm start with no crashes to report. Vietti maintained his lead from pole position and completed the opening lap ahead of Gonzalez and Ivan Ortola. Collin Veijer, meanwhile, had a terrible start and dropped back to P21 after serving his long-lap penalty.
Vietti continued to set the fastest laps as he attempted to break away from championship leader Gonzalez and the chasing group, which also included Izan Guevara, the two Aspar riders and Senna Agius. Gonzalez and Ortola were able to stay close to the SpeedRS rider, but neither could launch an attack as the gap stayed at around half a second.
With four laps to go, while Veijer crashed out, Gonzalez began putting Vietti under immense pressure and closed the gap to less than two tenths. At the end of the main straight, the Spaniard made his move into Turn 1. Then into Turn 10, Guevara also overtook Ortola and got up into third place. The Pramac rider completed the podium.
As a result, Gonzalez secured his second Grand Prix victory of the season and returned to winning ways after finishing second in the previous two races. He now leads the championship standings by 18.5 points over Guevara.
| Position | Riders | Time gap | Points |
| P1 | Manuel Gonzalez (Intact GP) | 36:06.29 | 25 |
| P2 | Celestino Vietti (SpeedRS) | +0.203 | 20 |
| P3 | Izan Guevara (Pramac) | +4.205 | 16 |
| P4 | Ivan Ortola (MSi) | +6.338 | 13 |
| P5 | Daniel Holgado (Aspar) | +7.971 | 11 |
| P6 | David Alonso (Aspar) | +8.080 | 10 |
| P7 | Filip Salac (American Racing) | +9.636 | 9 |
| P8 | Alonso Lopez (Gresini) | +11.312 | 8 |
| P9 | Luca Lunetta (SpeedRS) | +13.545 | 7 |
| P10 | Senna Agius (Intact GP) | +13.761 | 6 |
| P11 | Daniel Muñoz (Italtrans) | +14.210 | 5 |
| P12 | Jose Antonio Rueda (KTM Ajo) | +15.056 | 4 |
| P13 | Barry Baltus (Fantic) | +16.423 | 3 |
| P14 | Aron Canet (Marc VDS) | +17.667 | 2 |
| P15 | Ayumu Sasaki (RW Racing) | +18.721 | 1 |
| P16 | Unai Orradre (MSi) | +20.730 | |
| P17 | Tony Arbolino (Fantic) | +21.344 | |
| P18 | Alberto Ferrandez (Pramac) | +21.405 | |
| P19 | Zonta van den Goorbergh (RW Racing) | +24.078 | |
| P20 | Taiyo Furusato (Honda Team Asia) | +24.833 | |
| P21 | Adrian Huertas (Italtrans) | +31.147 | |
| P22 | Sergio Garcia (Gresini) | +36.601 | |
| P23 | Deniz Öncü (Marc VDS) | +38.957 | |
| P24 | Xabi Zurutuza (KLINT Forward) | +49.140 | |
| NC | Collin Veijer (KTM Ajo) | / | |
| NC | Joe Roberts (American Racing) | / | |
| NC | Alex Escrig (KLINT Forward) | / | |
Inevitable Quiles strikes again in Moto3
The Moto3 race got off to an incident-free start, with KTM rider Brian Uriarte taking the lead. However, the Spanish youngster did not remain in first place for long, as he constantly swapped positions with the two Intact GP riders, David Muñoz and David Almansa, over the opening laps. Championship leader Quiles made a decent start, but a mistake into Turn 1 on the second lap caused him to lose multiple positions and drop back to P11.
By the end of Lap 4, more riders had joined the battle for the podium, including
Adrian Fernandez, Jesus Rios and Hakim Danish. One lap later, Quiles and Alvaro Carpe also joined the fight at the front. After continuous position changes among the leading group, Uriarte led the field ahead of Fernandez and Muñoz. In the following laps, the KTM rider attempted to break away from the pack. Although he managed to remain in front after the main straight on several occasions, he stayed under constant pressure from the riders behind.
With four laps remaining, Quiles gained several positions and began chasing the lead. Two laps later, Rios' hopes of a podium finish came to an end after the Spaniard crashed out at Turn 10. With seven riders still in contention for a podium heading into the final lap, Quiles moved into the lead. Muñoz then dived down the inside of the Aspar rider in the final corner, but the move ultimately cost him a position, forcing him to settle for third place. KTM rider Carpe finished second, just 0.004 seconds ahead of his Intact GP rival.
Thanks to his fourth victory and third in a row, Quiles once again extended his already comfortable lead in the riders' standings.
| Position | Riders | Time gap | Points |
| P1 | Maximo Quiles (Aspar) | 32:28.964 | 25 |
| P2 | Alvaro Carpe (KTM Ajo) | +0.094 | 20 |
| P3 | David Muñoz (Intact GP) | +0.098 | 16 |
| P4 | Brian Uriarte (KTM Ajo) | +0.128 | 13 |
| P5 | David Almansa (Intact GP) | +0.552 | 11 |
| P6 | Marco Morelli (Aspar) | +0.581 | 10 |
| P7 | Hakim Danish (MSi) | +0.623 | 9 |
| P8 | Veda Pratama (Honda Team Asia) | +0.984 | 8 |
| P9 | Adrian Fernandez (Leopard) | +1.011 | 7 |
| P10 | Casey O'Gorman (SIC58) | +1.151 | 6 |
| P11 | Eddie O'Shea (MLav Racing) | +5.236 | 5 |
| P12 | Valentin Perrone (KTM Tech3) | +9.805 | 4 |
| P13 | Adrian Cruces (CIP) | +9.853 | 3 |
| P14 | Matteo Bertelle (LEVELUP - MTA) | +9.909 | 2 |
| P15 | Ryusei Yamanaka (MSi) | +9.951 | 1 |
| P16 | Joel Esteban (LEVELUP - MTA) | +10.008 | |
| P17 | Rico Salmela (KTM Tech3) | +10.074 | |
| P18 | Joel Kelso (MLav Racing) | +10.785 | |
| P19 | Scott Ogden (CIP) | +18.949 | |
| P20 | Ruche Moodley (CODE Motorsports) | +20.287 | |
| P21 | Guido Pini (Leopard) | +21.969 | |
| P22 | Zen Mitani (Honda Team Asia) | +27.942 | |
| P23 | Leo Rammerstorfer(SIC58) | +27.991 | |
| P24 | Cormac Buchanan (CODE Motorsports) | +40.082 | |
| NC | Jesus Rios (Snipers Team) | / | |
| NC | Nicola Carraro (Snipers Team) | / | |