The Red Bull driver, second for most of the race, took the lead with just a few laps to go and never relinquished it.
The victory is Verstappen’s first of the 2022 season, having not finished in Bahrain last week.
Ferrari made up the rest of the podium with LeClerc in second and Carlos Sainz in third.
24-year-old Verstappen called it a “really tough race but a good race.”
“We were both battling hard at the front. We just tried to play the long game,” Verstappen said.
“They were really quick through corners and we were really quick on the straight. The tires were wearing out quite quick. You could see by the end we had a little bit more pace.
“I tried to get by, it wasn’t easy, they were playing smart tricks in the last corner, but eventually I managed to get ahead. Even after that he was constantly in the DRS.
“Really happy we finally kick-started the season.”
To and fro
Having earned his country’s first-ever pole position, Sergio Perez made a perfect start on Sunday. The Mexican was quick off the line, blocking off second-placed LeClerc as well as maintaining his lead.
However, his dream race soon began to unravel.
An apparent fake pit from Ferrari meant Red Bull chose to pit Perez — losing places — just moments before Nicholas Latifi crashed, causing a safety car to come out which allowed other drivers to pit themselves.
It meant when the safety car left the track, LeClerc lead, followed by Verstappen with Perez down in fourth after giving up his third spot for a pit lane violation.
And with no obstructions ahead of him, the Monegasque driver continued his excellent pace in 2022, having won the opening race of the season in Bahrain last weekend.
The 24-year-old managed to hold off a flying Verstappen until a virtual safety car was called into place in the 38th lap after two cars both lost drive near the pit lane.
After the second safety car of the race was stopped, just like in Bahrain last week, the two young stars did battle once again.
They went back and forth, with Verstappen getting his nose in front, only for LeClerc to come roaring back.
But with just over three laps to go, the Dutch driver took the lead yet again and held on with a vice-like grip to claim his first victory of the season.
Both Verstappen and LeClerc have expressed their respect for one another before, and they could be seen embracing after their thrilling race.
And despite a disappointing finish in Jeddah for LeClerc, he said that “every race should be like this.”
“It was not enough today. I really enjoyed that race, it was hard racing but fair! Every race should be like this. It was fun, I wanted to win today,” he said.
“We had two very different configurations with the Red Bulls. We were quite quick in the corner, but slow in straights. It was extremely difficult for me to cover Max in the straight. Max did a great job, it was a fun race.”
Away from the track
On Saturday, a joint statement from Formula 1 and the sport’s governing body FIA confirmed the Saudi Grand Prix would take place this weekend despite an attack claimed by Yemen’s Houthi rebels on an oil storage facility near the track on Friday.
The Saudi Grand Prix is the second race of the new season and comes on the seventh anniversary of the start of the civil war in Yemen.
Friday’s explosion at the Aramco facility — an F1 sponsor — occurred about 20 miles (32 kilometers) from the track and smoke could be seen billowing over the city during Friday’s practice.
The second practice session was delayed by 15 minutes as teams and drivers were called to meet organizers. Mercedes team principal Toto Wolff told reporters teams had been “assured that we are protected” and the track was “probably the safest place that you can be in Saudi Arabia” at the moment.
However, sources told CNN drivers felt uneasy after the attack and many did not want to drive in the race.
The Houthis said they used a “large number” of drones to target the facility in Friday’s attack.
The Saudi-led coalition fighting the Houthis in Yemen said one ballistic missile and 10 bomb-laden drones launched from the southern border by the Iran-backed rebels were intercepted, according to Saudi state-run TV channel al-Ekhbariya. The statement did not mention an attack on Jeddah.
There have been no casualties so far in the attack, an official told CNN.
Saudi state media later reported the Saudi-led Arab coalition launched airstrikes on what it said were “threat sources in Sanaa and Hodeidah” in Yemen, following Friday’s attack.
The port city of Hodeidah is used to provide food and humanitarian aid for Yemenis. Fuel typically comes into the country’s north via the port, which is controlled by the Houthi rebels — but the Yemeni government, backed by Saudi warships, must give the vessels clearance to dock.
Irene Nasser in Hong Kong, Talia Kayali and Hira Humayun in Atlanta, Nic Robertson, Eyad Kourdi, Amanda Davies and Mostafa Salem contributed to this report.