Luis Salom took a beautifully-judged victory in the Moto3 season-opener in Qatar on his debut for new team Ajo.
Maverick Vinales shrugged off his hand injury from testing to secure second in a photo-finish with Alex Rins.
That trio plus Alex Marquez and Jonas Folger formed a five-bike lead tussle for the whole distance.
Squabbling Monlau team-mates Rins and Marquez led into the final laps, but Laglisse rider Vinales showed his intentions by drafting from fourth to first on the pits straight.
The Monlau bikes slipped ahead again further around the lap, only to be swamped again on the straight, as this time Salom came through to first and Vinales to second.
It looked like another slipstreaming spectacular was in prospect to decide the win, but Salom had other ideas.
A mighty push on his final lap broke the tow and allowed him to cross the line a relatively comfortable 0.417 seconds ahead.
It was far closer for second, as Vinales hung on by 0.006s over Rins. Marquez and Folger followed right behind.
Zulfahmi Khairuddin came back from a disappointing qualifying session to beat Miguel Oliveira and Arthur Sissis to sixth.
Niklas Ajo and Efren Vazquez led the next pack to the flag to complete the top 10.
Second-row qualifier Alan Techer was among the early crashers.
Results - 18 laps: Pos Rider Team/Bike Time/Gap 1. Luis Salom Ajo KTM 38m26.859s 2. Maverick Vinales Laglisse KTM + 0.417s 3. Alex Rins Monlau KTM + 0.423s 4. Alex Marquez Monlau KTM + 0.701s 5. Jonas Folger Aspar Kalex-KTM + 0.916s 6. Zulfahmi Khairuddin Ajo KTM + 17.489s 7. Miguel Oliveira Mahindra + 17.566s 8. Arthur Sissis Ajo KTM + 19.355s 9. Niklas Ajo Tecno KTM + 28.966s 10. Efren Vazquez Mahindra + 28.995s 11. Danny Webb WWC Suter-Honda + 29.440s 12. Brad Binder WWC Suter-Honda + 29.499s 13. Jasper Iwema RW Kalex-KTM + 39.216s 14. Alexis Masbou Ongetta FTR-Honda + 39.415s 15. Romano Fenati Italia FTR-Honda + 39.451s 16. Jack Miller Caretta-RTG FTR-Honda + 39.797s 17. Philipp Oettl Paddock Kalex-KTM + 50.846s 18. Alessandro Tonucci Tasca Honda + 51.093s 19. Toni Finsterbusch Kiefer Kalex-KTM + 51.218s 20. Ana Carrasco Laglisse KTM + 51.266s 21. Juanfran Guevara CIP TSR-Honda + 51.329s 22. Jakub Kornfeil RW Kalex-KTM + 53.745s 23. Francesco Bagnaia Italia FTR-Honda + 54.691s 24. Matteo Ferrari Ongetta FTR-Honda + 54.948s 25. Florian Alt Kiefer Kalex-KTM + 55.236s 26. Eric Granado Aspar Kalex-KTM + 1m03.601s 27. Hyuga Watanabe Tasca Honda + 1m23.040s 28. Lorenzo Baldassarri Gresini FTR-Honda + 1m23.178s Retirements: John McPhee Caretta-RTG FTR-Honda 16 laps Isaac Vinales Ongetta FTR-Honda 7 laps Alan Techer CIP TSR-Honda 2 laps Niccolo Antonelli Gresini FTR-Honda 0 laps