Honda rider Marc Marquez dominated the MotoGP race at Jerez, as team-mate Dani Pedrosa and the Ducati works duo of Andrea Dovizioso and Jorge Lorenzo came together in a huge crash.
With Marquez breaking away out front, Dovizioso and Lorenzo were battling for second place towards the closing stages of the race, with the incident triggered by the Italian diving down the inside of Lorenzo at the Turn 6 right-hand hairpin.
He looked to have completed the pass but ran wide, with Lorenzo cutting back to the inside to retake the position.
Yet as Lorenzo moved to the right, he clashed with the Honda of Pedrosa, who had looked to pass the battling Ducatis in one fell swoop.
The contact threw Pedrosa high into the air off his bike and sent Lorenzo's GP18 into the path of Dovizioso, with all three retiring on the spot but managing to walk away seemingly unhurt.
Lorenzo had been the only frontrunner to pick the soft front tyre, and used it to great effect initially, making a lightning getaway from fourth to lead into Turn 1.
He kept Pedrosa at bay in the early going, and then fought off Marquez for several laps after the reigning champion had slid down the inside of his team-mate at the fast Turn 11 right-hander.
By lap eight, however, Lorenzo's defensive resolve weakened, and he finally ceded the lead to Marquez - while, right behind them, Dovizioso worked his way past Pedrosa.
The top four, having already broken away from the rest of the pack, remained compact for a couple more laps, but Marquez soon began to stretch his legs, undeterred by a massive slide through gravel left on the racing line at Turn 12 by Tom Luthi's crash.
As the leader began to disappear into the distance, Dovizioso was growing impatient behind Lorenzo and had to back out of a move at the final corner that briefly dropped him behind Pedrosa.
When all three were collected by the crash later on, Tech 3 Yamaha's Johann Zarco was promoted into a comfortable second, despite having seemingly struggled in the early going.
He finished five seconds behind Marquez, who showboated through much of the final lap.
The incident also meant that the four-bike group of Pramac Ducati's Danilo Petrucci, Suzuki's Andrea Iannone, Pramac Ducati's Jack Miller and Yamaha's Valentino Rossi were suddenly battling for third - with Iannone finally coming out on top.
The Suzuki rider, whose team-mate Alex Rins crashed out of fifth at Turn 11 early on, finished a few tenths ahead of Petrucci and Rossi to clinch his second consecutive third-place finish.
Behind Miller, Vinales worked his way past Nieto Ducati's Alvaro Bautista to claim a seventh-place finish, having dropped well outside of the top 10 in the initial running.
Marc VDS Honda rookie Franco Morbidelli posted his best MotoGP finish yet in ninth, while wildcard Mika Kallio, running a KTM 2019 prototype, was 10th ahead of the marque's regular rider Pol Espargaro.
LCR Honda's Cal Crutchlow, who had started from pole for the fourth time in his career, did not have the best getaway, dropping back to an initial fourth.
And fourth was where he ran when he fell at the Turn 11 right-hander, retiring from a second consecutive grand prix.
Nieto Ducati's Karel Abraham crashed at the same corner later on, while Aprilia's Aleix Espargaro had pulled up shortly after the start with what looked like a mechanical problem.