The 57-year-old crossed the line in the 12th and final stage 6min 21sec ahead of nearest challenger and reigning champion Nasser al-Attiyah of Qatar, who had managed to cut Sainz’s lead to just 24 seconds on Tuesday but fell back after navigation blunders.
“I feel very happy. There’s a lot of effort behind this. A lot of training, practice,” Sainz told the race’s website.
“It has been a flat out rally since the beginning. It was fantastic, a first time in Saudi Arabia, of course you can always improve but it was a fantastic effort,” he added.
— Elma Smit (@Elmakapelma) January 17, 2020
Asked about defending his title next year Sainz said: “It’s too early to think about it, let me enjoy this.”
Sainz, the father of F1 driver Carlos Sainz Jr., seized control of the race from the third stage in his X-raid Mini.
He has now won the Dakar with three different manufacturers, having previously triumphed with Volkswagen in 2010 and Peugeot in 2018.
Stephane Peterhansel was third at 9min 58sec behind in his Mini. Both the Frenchman and Sainz won four stages in the marathon 12-day, 7,800-kilometre (4,800-mile) race.
Ricky Brabec triumphed in the motorbike section for Honda, becoming the first US rider to win the gruelling race.
Two-time Formula One champion Fernando Alonso finished 13th on his Dakar debut, nearly five hours behind the winner.
Alonso came second in one stage but his first participation in the Dakar was a bruising affair as the 38-year-old Spaniard suffered a double rollover in the 10th stage after hitting a dune at an awkward angle.
The race was marred by the death of Portuguese rider Paulo Goncalves during Sunday’s seventh stage.
The decision to stage the race in Saudi Arabia this year and for at least the next four years sparked an angry reaction from critics of the kingdom’s human rights record.