Sergio Gadea won Saturday's 125cc Dutch TT after last lap tangle between leaders Nicolas Terol and Julian Simon.
Following a near race-long battle, all three were nose-to-tail as the last lap began - but as Terol attempted to regain the lead from Simon at the end of the back straight he tangled with the world championship leader.
Both ran off track, but Terol recovered quickest, using an escape road to rejoin just behind Gadea while Simon - who cut less track - lost more time and had no choice but to settle for third. The incident is now under investigation by race direction, indicating Terol could lose the position.
Having been promoted from third to first, Gadea remained just out of Terol's reach to claim his third grand prix victory and first race since Qatar 2008. The Spaniard's third podium of the season also means he is now third in the championship, 16 points behind team-mate Simon.
Fellow Aspar rider Bradley Smith and triple 2009 race winner Andrea Iannone had also been part of the lead group in the early stages, but were over five seconds behind the trio by the halfway mark of the 22 laps.
The pair fought to the flag, with Smith just edging out Iannone to limit the championship damage. The Englishman is now 4.5 points behind Simon.
Aprilia riders have now won the last nine 125GPs - the longest ever sequence of successive wins in the class by Aprilia.
The 125cc World Championship does not take part in the forthcoming Laguna Seca round, meaning their next event will be the German Grand Prix on July 19.
Race results - Assen:
1. Gadea (Aprilia)
2. Terol (Aprilia) +0.078sec
3. Simon (Aprilia) +0.901sec
4. Smith (Aprilia) +12.356sec
5. Iannone (Aprilia) +12.400sec
6. Bradl (Aprilia) +20.468sec
7. Folger (Aprilia) 20.755sec
8. Corsi (Aprilia) +21.263sec
9. Espargaro (Derbi) +21.558sec
10. Marquez (KTM) +21.941sec
Webb (Aprilia) DNF
Redding (Aprilia) DNF