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
Alvaro Bautista Gresini Honda 0 laps
Danilo Petrucci Ioda Aprilia 0 laps