Marc Marquez continued his unbeaten MotoGP run by coming from seventh to first at Termas de Rio Hondo in Argentina.
Honda ultimately scored a one-two, with Dani Pedrosa backing the world champion up, while long-time leader Jorge Lorenzo had to settle for third.
Marquez had been pushed right down to seventh place over a wild opening lap, as the new venue proved very overtaking-friendly and the lead pack went three and four-abreast.
Lorenzo battled his way to the front and tried to make a break as his rivals sorted themselves out.
It paid off initially, as by the time Marquez reached second, his 2013 title rival was two seconds clear.
Marquez did not need much time at all to close that gap, yet when he reached the Yamaha's tail, he chose to sit ominously in Lorenzo's wheeltracks for 10 laps.
When the time came, Marquez sliced past Lorenzo at the end of the backstraight and then began blasting in fastest laps to make victory a formality.
Pedrosa steadily closed on Lorenzo over the remaining laps, taking second from the Yamaha in the final corners of the penultimate lap.
Third was still Lorenzo's first podium of 2014 after a terrible start to his campaign, but the ease with which the Hondas overtook and pulled away from him will be unnerving for all at Yamaha.
Valentino Rossi was in the thick of the frantic early action, leading for a few yards, and also running wide or even off track several times in battle. He eventually picked his way through to fourth.
Stefan Bradl recovered from his big Saturday crash to complete the top five.
Andrea Iannone starred again, running as high as second and claiming a career-best sixth ahead of the Tech 3 Yamahas - led by Bradley Smith - and Andrea Dovizioso on the best of the works Ducatis. Dovizioso had been in the top three initially before fading.
Hiroshi Aoyama narrowly denied Nicky Hayden, Yonny Hernandez and Karel Abraham in an excellent battle for 10th.
Aleix Espargaro, Alvaro Bautista and Danilo Petrucci all crashed during the opening lap and a half. While Bautista and Petrucci were out, Espargaro got his bike going again and managed to salvage a point for 15th.
Results - 25 laps Pos Rider Bike Time/Gap 1. Marc Marquez Honda 41m39.821s 2. Dani Pedrosa Honda +1.837s 3. Jorge Lorenzo Yamaha +3.201s 4. Valentino Rossi Yamaha +4.898s 5. Stefan Bradl LCR Honda +15.029s 6. Andrea Iannone Pramac Ducati +19.447s 7. Bradley Smith Tech 3 Yamaha +24.192s 8. Pol Espargaro Tech 3 Yamaha +29.118s 9. Andrea Dovizioso Ducati +33.673s 10. Hiroshi Aoyama Aspar Honda +43.279s 11. Nicky Hayden Aspar Honda +43.352s 12. Yonny Hernandez Pramac Ducati +44.819s 13. Karel Abraham Cardion Honda +45.178s 14. Scott Redding Gresini Honda +48.656s 15. Aleix Espargaro Forward Yamaha +52.250s 16. Hector Barbera Avintia FTR-Kawasaki +53.505s 17. Michele Pirro Ducati +53.669s 18. Michael Laverty PBM Aprilia +56.570s 19. Mike di Meglio Avintia FTR-Kawasaki +1m03.140s 20. Colin Edwards Forward Yamaha +1m05.760s 21. Broc Parkes PBM Aprilia +1m16.722s Retirements/not classified Alvaro Bautista Gresini Honda 0 laps Danilo Petrucci Ioda Aprilia 0 laps