Jerez, Spain - World champion Marc Marquez swept back to the top of the MotoGP standings by a single point on Sunday after running away with his home Spanish Grand Prix at Jerez.
The Honda rider led from the first corner to chequered flag, heading a Spanish one-two-three with Suzuki's Alex Rins 1.654 seconds behind as runner-up and Maverick Vinales third for Yamaha.
Marquez, who crashed while leading in the previous round in Texas, started third on the grid and now has 70 points after his second win of the campaign.
Rins is on 69 thanks to his second successive podium, with Andrea Dovizioso dropping from the overall lead to third on 67 after finishing fourth on his works Ducati.
The Italian was right on the tail of Vinales in the closing stages but ran out of time to get past.
"It was more difficult mentally than physically. After the mistake in Austin it is not easy to race here and lead the race from the beginning to the end," said Marquez.
"But I am convinced about my performance and of the bike, I'm feeling really good.
"It was a bit hard to know why we crashed in Austin so today, this weekend, I felt really good, really smooth, riding like I want."
Vinales said being on his home podium felt like a victory after a tough start to the season and struggling with starts.
"Finally I think we found out a method that is working really good," he said. "Actually I won some places at the start so I'm really happy. The team is working good, I need confidence."
His Italian team mate Valentino Rossi took sixth place after starting 13th. The 40-year-old great tumbled from second to fourth in the championship on 61 points after four rounds of the season.
French 20-year-old Fabio Quartararo, who had started as the youngest ever rider on pole position, had looked set for the podium but his Petronas Yamaha slowed on lap 14 after getting stuck in third gear.
The distraught rookie headed back to the garage and retired.
Australian Jack Miller crashed his Pramac Ducati after colliding with Aprilia's Spaniard Aleix Espargaro while trying to go through on the inside at turn 13.
Aprilia's Andrea Iannone, who crashed in Saturday practice, was ruled unfit to start after a morning medical.
The next race is the French Grand Prix at Le Mans on May 19.
Binder 5th in Moto2
Meanwhile in Moto2, Italy's Lorenzo Baldassari on a Kalex won his third GP of the season, dominating the field at Jerez to extend his world championships lead.
The 22-year-old won at Qatar and Argentina before falling last time out in the United States, making up for that slip as he rampaged around the Jerez de la Frontera track to beat Spanish pair Jorge Navarro and Augusto Fernandez.
The race was marked by an early accident when Australia's Remy Gardner ran into Alex Marquez, brother of Marc Marquez, and needed treatment on the track before being hauled away, Marquez eventually finishing sixth.
South Africa's Brad Binder (Red Bull KTM) finished fifth.