The MotoGP great Valentino Rossi rolled back the years to win the Qatar season-opener for Yamaha with Italian riders sweeping the podium places.
Andrea Dovizioso, who had started on pole position while Rossi was only eighth, took second place for Ducati with team mate Andrea Iannone finishing third.
Honda's double world champion Marc Marquez was fifth after being forced out at the first corner and having to fight back from last.
The win, at the grand old age of 36, was the 109th of Rossi's grand prix career and 83rd in the top category of motorcycling.
"I said this a lot of times, but for me this is one of the best," said Rossi, a nine-times world champion, after a race that saw the lead constantly change hands with the outcome uncertain right to the end.
Dovizioso led at the start but Rossi's Spanish team mate and double world champion Jorge Lorenzo hit the front on lap two as the race turned into a Yamaha v Ducati battle with the Honda riders eclipsed.
Rossi seemed content to hang back in fourth but moved up to third at the halfway point and then used all his experience to attack, taking the lead for the first time with four laps remaining.
Ducati have not won in MotoGP since 2010 but are in the 'open' category which confers certain advantages including tyres and fuel until they start making regular appearances on the podium.
It looked like their long wait was coming to an end, with Dovizioso right on Lorenzo's tail and then chasing Rossi all the way but it was not to be.
Marquez, winner in Qatar last year, was forced wide into the first corner and despite a thrilling comeback could make little inroads on the top four.
The Spaniard could at least hold his head high after overtaking Honda team mate Dani Pedrosa for fifth place with 11 laps remaining.