2025 Portuguese Moto3 - Qualifying Results
Qualifying results from the 2025 Moto3 Portuguese Grand Prix (Round 21) where the last rider to take the chequered flag, Joel Kelso, took pole position.

Moto3 qualifying for the Portuguese Grand Prix, saw Joel Kelso live up to his weekend promise, collecting his second pole of the season in Portimao.
The LevelUp - MTA rider, who also put his KTM on pole in Australia, was second on the grid last year to the 2025 champion Jose Antonio Rueda - going one better with the last live lap, moving from fourth to first as the last rider in the group over the line with a lap of 1m36.764s.
Scott Ogden had flashed up in provisional pole just moments earlier after building on his solid banker lap, riding with his absent teammate Noah Dettwiler in mind for CIP Green Power, just 0.069s slower.
The morning FP2 session saw the lightweight class greeted by a wet track after an overnight downpour, with Angel Piqueras excelling in the damp session, and the Frinsa - MT Helmets - MSI rider also briefly sat at the top of the timesheets in the rapid flurry of late times, finishing third to complete the front row.
Maximo Quiles had been the long term session leader thanks to his early fast banker lap, but crashed from the same group, leaving him to fall back to fourth for Aspar.
- 2025 Portuguese MotoGP, Portimao - Saturday Practice Results
- 2025 Portuguese MotoGP, Portimao - Full Qualifying Results
Rookie Guido Pini was the best of the riders to come from Q1, his extra time on track paying off as he went on to secure fifth for Liqui Moly Dynavolt Intact GP.
Joel Esteban had also come through Q1 for a superb sixth for Red Bull Tech 3, replacing Jacob Roulstone at the team.
Casey O’Gorman had done enough to go straight to Q2 - now in at Liqui Moly Dynavolt Intact GP for the David Munoz, with his track position in the last group on flying laps helping him up to seventh, on the KTM for the first time.
Adrian Fernandez was the top Leopard rider and top Honda in eighth.
David Almansa, elevated to his first podium finish on Thursday after teammate Fernandez was disqualified from the Sepang race result, had been fastest on Friday and took pole last time out in Malaysia, but it was not to be this time, placing ninth.
Valentin Perrone was in the out of sync group with Fernandez on his way to a top ten start for Red Bull KTM Tech3. The Argentinian rookie was the first to take the chequered flag, in fifth at the time.
| 2025 Portuguese Moto3 - Qualifying Results | ||||
| Pos | Rider | Nat | Team | Time |
| 1 | Joel Kelso | AUS | LEVELUP - MTA (KTM) | 1m 46.764s |
| 2 | Scott Ogden | GBR | CIP Green Power (KTM) | +0.069s |
| 3 | Angel Piqueras | SPA | FRINSA -MT Helmets - MSI (KTM) | +0.163s |
| 4 | Maximo Qulies | SPA | CFMoto Gaviota Aspar Team (KTM) | +0.280s |
| 5 | Guido Pini | ITA | Liqui Moly Dynavolt Intact GP (KTM) | +0.297s |
| 6 | Joel Esteban | SPA | Red Bull KTM Tech3 (KTM) | +0.303s |
| 7 | Casey O'Gorman | IRL | Liqui Moly Dynavolt Intact GP (KTM) | +0.395s |
| 8 | Adrian Fernandez | SPA | Leopard Racing (Honda) | +0.425s |
| 9 | David Almansa | SPA | Leopard Racing (Honda) | +0.438s |
| 10 | Valentin Perrone | ARG | Red Bull KTM Tech3 (KTM) | +0.467s |
| 11 | Taiyo Furusato | JPN | Honda Team Asia (Honda) | +0.530s |
| 12 | Alvaro Carpe | SPA | Red Bull KTM Ajo (KTM) | +0.665s |
| 13 | Marco Morelli | ARG | GRYD - MLav Racing (Honda) | +0.674s |
| 14 | Brian Uriarte | SPA | Red Bull KTM Ajo (KTM) | +0.744s |
| 15 | Luca Lunetta | ITA | SIC58 Squadra Corse (Honda) | +0.806s |
| 16 | Dennis Foggia | ITA | CFMoto Gaviota Aspar Team (KTM) | +0.901s |
| 17 | Hakim Danish | MAL | FRINSA -MT Helmets - MSI (KTM) | +1.053s |
| 18 | Stefano Nepa | ITA | SIC58 Squadra Corse (Honda) | +1.483s |
| Q1 | ||||
| 19 | Zen Mitani | JPN | Honda Team Asia (Honda) | 1m 48.570s |
| 20 | Matteo Bertelle | ITA | LEVELUP - MTA (KTM) | 1m 48.599s |
| 21 | Nicola Carraro | ITA | Rivacold Snipers Team (Honda) | 1m 48.910s |
| 22 | Ruche Moodley | RSA | DENSSI Racing - BOE (KTM) | 1m 48.930s |
| 23 | Eddie O'Shea | GBR | GRYD -MLav Racing (Honda) | 1m 48.933s |
| 24 | Cormac Buchanan | NZL | DENSSI Racing - BOE (KTM) | 1m 48.947s |
| 25 | Jesus Rios | SPA | Rivacold Snipers Team (Honda) | 1m 49.07s |
Malaysia winner Taiyo Furusato opted to go solo, just about shaking off the only rider to go with him Luca Lunetta, for a clean run. That took the Honda Team Asia rider to eleventh, with SIC58 Squadra Corse’s Lunetta 15th.
After a wildcard appearance in Sepang Hakim Danish returns for the Portuguese round, this time as a replacement rider, replacing Ryusei Yamanaka at Frinsa - MT Helmets - MSI - after finishing practice highest out of the non-regular riders the Malaysian rider went on to qualify 17th after an early fall in Q2.
Brian Uriarte also made it to Q2 in the last progression slot, arriving in Portugal as the Red Bull Rookies and Junior GP champion for this season. Uriarte, at Red Bull KTM Ajo, is filling the seat of Rueda, ahead of joining the team full-time next season and qualified 14th.
Q1 - Super Sub Esteban leads Q2 charge
Esteban set the best time in the first qualifying session - helped in the run to the line in a group with Stefano Nepa (18th) and Pini, who also made the jump to the second session.
They were joined by Marco Morelli (13th) after a huge solo effort moved him first into the top four places, then up to second in the session.
There was a gap between the riders that progressed and the rest with Zen Mitani, riding with Honda Team Asia, for Tatchakorn Buasri the rider who was first to miss out, in fifth for 19th on the grid.
Cormac Buchanan (24th)fell right at the start of the session, his third crash of the weekend and 34th of the season.
His BOE teammate Ruche Moodley(22nd) also took a tumble with five minutes remaining.
Jesus Rios (25th) is in at the Snipers team, in for Riccardo Rossi, who was absent after picking up an injury in training.
CIP Green Power elected not to replace the recovering Noah Dettwiler.










