Andrea Dovizioso was the coolest man on a scorching day in Barcelona to secure back-to-back race wins and close the gap on championship leader Maverick Vinales.
With the Yamahas out of the picture all weekend, Dovizioso's victory saw Ducati take the chequered flag in consecutive events for the first time since Casey Stoner won races in Aragon and Japan back-to-back in 2010.
Dovizioso is now just seven points behind Vinales, who came home in 10th as he and Movistar Yamaha team-mate Valentino Rossi played anonymous roles in the midfield.
Pole-sitter Dani Pedrosa came home third, having to cede to his Repsol Honda colleague Marc Marquez in taking the fight to Dovizioso.
However, the Italian was in a class of his own around the Circuit de Catalunya, as riders regularly struggled for grip, and finished almost two seconds clear of the world champion.
DOVI DOES THE JOB
Dovizioso was in position to take the lead from Pedrosa as early as the ninth lap, but he was happy to lurk behind the Spaniard.
While his rivals wobbled badly on the slippery, bumpy asphalt, the Italian spent eight laps looking like he was on rails before Pedrosa's soft rear tyre eventually gave way and Dovizioso sped through.
Though the Ducati man always looked in control, he revealed it was far from a walk in the park.
Dovizioso said post-race: "To manage the grip was difficult, it was a strange race.
"We couldn't push because the rear tyre dropped a lot, but I had speed so I was able to manage it.
"The small details made the difference in the race."
FALL GUY MARQUEZ LANDS ON HIS FEET
Marquez began Sunday having fallen from his machine five times over the course of the weekend, and he started the warm-up ride on the deck again after a comical tumble while getting onto his bike.
The champion's balance was put to the test off the line when he tangled with a drifting Danilo Petrucci and he somehow managed to turn another wobble on lap six into an overtake for the lead.
Though Dovizioso eventually had too much, Marquez remains within 23 points of the championship lead with just one win to his name this season.
ROOKIES OUTSHINE LEGENDS AT YAMAHA
Johann Zarco and Jonas Folger may be asking their Monster Yamaha Tech 3 bosses for a pay rise after outperforming the factory Yamaha riders Rossi and Vinales with ease.
Zarco overtook his team-mate on the last lap as they came home fifth and sixth as the pair's respective smooth styles got the better of difficult conditions.
Rossi had briefly threatened a fightback from deep in the field after pumping in some rapid early lap times, but he fell back and ended up riding a lonely effort for eighth place.
IN THE POINTS
1. Andrea Dovizioso (Ducati Team) 44:41.518s
2. Marc Marquez (Repsol Honda) +3.544
3. Dani Pedrosa (Repsol Honda) +6.774
4. Jorge Lorenzo (Ducati Team) +9.608
5. Johann Zarco (Monster Yamaha Tech 3) +13.838
6. Jonas Folger (Monster Yamaha Tech 3) +13.921
7. Alvaro Bautista (Pull&Bear Aspar Team) +16.763
8. Valentino Rossi (Movistar Yamaha) +20.821
9. Hector Barbera (Reale Avintia Racing) +23.952
10. Maverick Vinales (Movistar Yamaha) +24.189
11. Cal Crutchlow (LCR Honda) +28.329
12. Loris Baz (Reale Avintia Racing) +33.281
13. Scott Redding (Octo Pramac Racing) +35.200
14. Karel Abraham (Pull&Bear Aspar Team) +39.436
15. Tito Rabat (Estrella Galicia 0,0 Marc VDS) +40.872
1. Maverick Vinales (Movistar Yamaha) - 111
2. Andrea Dovizioso (Ducati) - 104
3. Marc Marquez (Repsol Honda) - 88
4. Dani Pedrosa (Movistar Yamaha) - 84
5. Valentino Rossi (Movistar Yamaha) - 83
The teams will head to Assen for the next event in a fortnight's time. Last year, Jack Miller secured a shock victory as the 2016 campaign embarked on a crazy mid-season run of alternating winners.