The Monegasque crossed the line on Sunday 5.5 seconds ahead of Sainz, who moved up to second place after world champion Max Verstappen suffered a calamitous start to his title defence, retiring three laps from the end.
Seven-times world champion Lewis Hamilton snatched a shock third for struggling Mercedes ahead of new teammate George Russell on the final lap after Verstappen’s team mate Sergio Perez spun at the first corner.
It meant neither Red Bull made the finish.
Sunday’s win was the third of Leclerc’s career and Ferrari’s first since the 2019 Singapore Grand Prix.
It was also the Italian team’s seventh at the Sakhir desert track.
The result puts Leclerc in the overall lead of the drivers’ standings with another 22 races to go.
Ferrari lead the constructors’ tables.
Leclerc, who also took the fastest lap and was voted driver of the day by fans, started Sunday’s race from pole but it was not an unchallenged cruise to the flag for the 24-year-old.
He engaged in a wheel-to-wheel battle with Verstappen after the first pitstops with the pair passing and repassing each other for the lead over several laps.
He also perfectly judged the restart after a safety car period, breaking away from Verstappen as the field returned to racing speed.
Red Bull’s race came undone at the very end.
Verstappen’s car, hobbled for much of the race by a steering issue, appeared to suddenly slow.
Perez reported a loss of power immediately afterwards and blamed the engine for his sudden spin.
Australian Daniel Ricciardo finished 14th in his McLaren, one place ahead of his British teammate Lando Norris.
- AAP