Ricciardo resisted race-long pressure from the Ferrari behind to record his first top-four finish since 2021.
The Australian was faultless ahead of Sainz with Oscar Piastri trailing the Spaniard across the line in sixth.
An even start saw Verstappen and Leclerc side by side into the first corner, the Ferrari having to cede and leave the Red Bull Racing entry to lead the race.
In the pack, Lando Norris and Lance Stroll came together to draw the yellow flags, quickly followed by the Safety Car.
It curtailed an early battle between Verstappen and Leclerc for the race lead, while Daniel Ricciardo had jumped up to third off the start.
In the opening exchange, Fernando Alonso picked up a puncture as he was embroiled in the opening corner melee.
The incident was triggered by Stroll turning across the front of his Aston Martin team-mate, who had Lewis Hamilton on his right into the opening corner.
In the resulting pinch, Norris on the outside, was collected and eliminated from the race.
Hamilton was also a guilty party as he steamed up the inside, skating long and sliding into Alonso, who was caught with nowhere to go.
Having circled back to the pits, Stroll was retired from the race.
The Safety Car was withdrawn as the field completed Lap 3, Verstappen leading from Leclerc, Ricciardo, Sergio Perez, Sainz, and Piastri.
Then came the two Haas drivers, Nico Hulkenberg from Kevin Magnussen, the latter having gained at the race start as George Russell fell to 14th.
Verstappen held a 1.1s advantage at the end of the first racing lap while Ricciardo was 1.5s further back.
His mirrors were filled by Perez in the Red Bull Racing, just 0.6s back from the RB as DRS was enabled.
The Mexican made short work of the Australian, easing by Turn 11 as Ricciardo immediately fell into the clutches of Sainz, though he found the RB rather more difficult to pass.
Perez headed a DRS train, the Mexican followed by Ricciardo, Sainz, Piastri, and Hulkenberg.
A move into Turn 1 from Sainz forced Ricciardo to defend at the start of Lap 7, but he was unable to make it stick, and the pair remained as they were.
On Lap 10, Ricciardo was again vulnerable as he dropped out of DRS range of Perez ahead.
Magnussen picked up a 10-second time penalty after he left the track and gained an advantage.
He’d been locked in a ferocious battle with Hamilton over eighth place.
As they started Lap 12, Sainz again attempted to go around the outside of Ricciardo at Turn 1 but couldn’t make it stick.
That left the Ferrari vulnerable to Piastri behind as Sainz dropped away from RB following his Turn 1 lunge.
Hamilton finally looked to have completed the move on Magnussen on Lap 12, only for the Haas driver to release the brakes and storm back through at Turn 13, arguably by having run-off the track.
It was a move that caught the eyes of officials, who investigated the Dane again for leaving the track and gaining an advantage.
Out front, Verstappen continued to lead, holding a 1.8s advantage over Leclerc with Perez 2.4s further back.
Ricciardo had slipped more than six seconds back from the Red Bull Racing entry as they completed Lap 14.
Magnussen and Hamilton again went toe to toe into Turn 11, the Haas again running the Mercedes driver wide – leaving the track in the process and taking Hamilton with him – which opened the door for Yuki Tsunoda to pass the seven-time champion for ninth.
It saw the second half of the field running nose-to-tail, from ninth through to Alonso in 18th.
Magnussen picked up a second time penalty for his defence against Hamilton, before officials immediately announced another investigation into the Dane.
As the final lap commenced, Verstappen held a 2.7s advantage with Perez in third, then Ricciardo who was still holding on against Sainz by just 0.4s, with Piastri just 0.8s behind the Ferrari.
The Australian defended into Turn 11, holding fourth and seeing off what was, in reality, Sainz’s final chance.
The Spaniard had one last attempt into Turn 16 but it was more in hope than expectation as Ricciardo held on to a fabulous fourth.
Sainz was fifth from Piastri with Hulkenberg and Tsunoda completing the points-paying positions.
Post-race, Hamilton picked up a time penalty after he was caught speeding in the pit lane while Magnussen had three time penalties applied after the chequered flag.