All 20 drivers started on softs, with Verstappen and Perez choosing to begin on used ones to save their new set for later in the race.
Hulkenberg, Tsunoda, Stroll, Albon, Magnussen, Bottas, Zhou, Sargeant, Ocon and Gasly all started on new softs.
Off the line, it was a superb start from both Red Bulls as Verstappen maintained the lead. Perez jumped Sainz to take P4 and had a look at Russell into turn 1.
In the midfield, Nico Hülkenberg ruined his great qualifying with a bad start. He then gently hit Lance Stroll into turn 1 and damaged his front wing. The Canadian dropped to the back as he half spun.
On lap 3, Norris overtook Fernando Alonso into turn 1 for P6, while George Russell brilliantly swept around the outside of Charles Leclerc into turn 4 for P2. Alonso continued to drop down as Piastri followed his teammate through a couple of laps later.
Verstappen led Russell, Leclerc, Perez, Sainz, Norris, Piastri, Alonso, Hamilton and Tsunoda on lap 5.
For the third time into turn 10, Leclerc locked up on lap 7, allowing Sergio Perez to get a run and make the move down the inside into turn 11 for P3.
After losing DRS to Piastri, Alonso dropped another spot as Lewis Hamilton took P8 with ease on lap 10.
A lap later, Carlos Sainz made the move into turn 1 on Charles Leclerc as the Spanish driver had more pace and looked after his tyres better.
The Williams of Logan Sargeant briefly caused a yellow flag as he
Due to the high levels of tyre degradation, Russell and Leclerc boxed at the end of lap 11. Perez, Piastri and Hamilton all came in a tour later. Norris would then respond at the end of lap 13.
In the battle for a net P2, Sergio Perez pulled off a lovely switchback on George Russell into turn 4 as the Mexican forced the Brit into a defensive move and the Mercedes driver ran wide on exit.
With race leader Verstappen going all the way to the end of lap 17, Perez led Russell, Leclerc, Sainz, Norris, Piastri, Hamilton, Zhou and Alonso in the hard runner race.
On lap 17, Sainz overtook Leclerc after extending his first stint. He followed that up a lap later by breezing past an ailing Russell to take 3rd.
After running off the track multiple times and his complaints about the car being dangerous under braking, Leclerc’s race engineer confirmed over team radio that “we can see the front imbalance on the data under braking. I confirm we see it on the data”.
On lap 20, Verstappen led Perez, Sainz, Russell, Leclerc, Norris, Piastri, Hamilton, Alonso and Guanyu.
The Sauber of Guanyu pitted at the end of lap 28 as he switched to another set of hards, pitting early to maintain track position over Lance Stroll and a net P10.
Managing some power unit problems, George Russell pitted at the end of lap 31 from P4 to change to another set of hards and stave off the undercut threat from Leclerc and Norris.
On lap 33, the Aston Martin of Lance Stroll made a brilliant lunge on Zhou Guanyu from a long way back into turn 1 to take a net P10 from the Chinese driver.
Mercedes triggered the undercut with Hamilton and it paid off. As Piastri came out of the pits a lap later in response to, the Aussie went deep at turn 1 and Hamilton cruised on by for a net P7.
Russell, Leclerc, Norris, Hamilton and Piastri all passed Alonso as Aston Martin extended his middle stint far beyond anyone else, eventually pitting at the end of lap 41 and dropped to P11.
Verstappen led Perez, Sainz, Russell, Leclerc, Norris, Hamilton, Piastri, Stroll and Guanyu was the top 10 with 15 laps to go.
However, the early stop by Sauber started to bite as Alonso cruised on by on lap 44 for 10th.
On lap 46, Leclerc, who had closed in on Russell on newer tyres, forced an error from the Brit into turn 10 and used the DRS to take the spot into the next corner.
Outside the points, Tsunoda on hards was asked to give up P13 to teammate Ricciardo who was on softs. The Japanese driver was far from happy.
Out front, Verstappen bagged a win by over 20s and fastest lap to mark the perfect start to the campaign. The Dutchman led every lap, too. Teammate Sergio Perez completed a 1-2 for Red Bull Racing, with Carlos Sainz finishing P3 for Scuderia Ferrari.
Leclerc, Russell, Norris, Hamilton, Piastri, Alonso and Stroll rounded out the points scorers in a rather forgettable Bahrain Grand Prix.