The race was effectively decided when Verstappen overtook Hamilton on Lap 53 but went too wide on a turn and off-track limits, so he had to give Hamilton the position back, as he risked a time penalty.
World champion Lewis Hamilton just managed to hold off Max Verstappen to win the season-opening Bahrain Grand Prix and clinch the 96th Formula One win of his career on Sunday.
The race was effectively decided when Verstappen overtook Hamilton on Lap 53 of 56 but went too wide on a turn and off-track limits.
He was told by his team to give Hamilton the position back, as he risked a time penalty.
"It's a shame but you also have to see the positives," Verstappen said. ``"We are really taking the fight to them, and I think that's great to start the year like that."
Verstappen still had a few laps to catch Hamilton and he almost did, finishing just 0.74 seconds behind the Mercedes driver.
"What a difficult race that was. Max was all over me at the end and I was just about able to hold him off,'' Hamilton said. "I knew he was going to catch me and I thought it was going to be impossible to keep him behind...that was one of the hardest races I've had for a while. I love the challenge.''
With 22 races still to come, F1 fans could be in for a treat this season if Verstappen takes the title challenge to Hamilton.
"I'm super happy for the fans that they are excited, this is something all the fans have wanted for some time," Hamilton said. "I hope for many more of these races with Max.''
Hamilton's teammate, Valtteri Bottas, took third but was way behind the front two.
Two-time champion Fernando Alonso failed to finish the race on his F1 comeback with Alpine.
Verstappen took a superb pole position on Saturday, the fourth of his career, and started immediately ahead of Hamilton under floodlights at the desert track.
Verstappen got away cleanly while Ferrari's Charles Leclerc made a fine overtake on Bottas, but lost that position after the safety car came out on Lap 1.
Hamilton initially gained control of the race by making an earlier tire change than Verstappen, who finally started trimming Hamilton's advantage and took the lead when Hamilton came in for a second tire change.
Verstappen then made his second change with 16 laps left and had an eight-second gap to make up, but Hamilton had older tires. Verstappen caught him on Lap 53 and passed him at the second attempt on Turn 4, but the joy was short-lived.
"I knew I had run off the track limits,'' Verstappen said afterward.
Red Bull team principal Christian Horner explained to him that race control had given the order to let Hamilton back in front as per regulations.
Before the race, all drivers wore ``'We Race As One' written on the front of black T-shirts to send a message for diversity and inclusion. Hamilton, Vettel, and several other drivers took a knee against racism as they had done last year.
Sergio Perez's Red Bull debut started badly as his car stalled seconds before the start. He lost his grid position and had to start from the pit lane, but did well to finish fifth behind McLaren's Lando Norris in fourth.