Hamilton started the race from pole, but poor tyre choice at his first pit stop left him vulnerable to assault from Verstappen, who spent virtually the entire race testing the Briton’s defence.
The duel came to a head two laps from the finish, when the Dutchman launched a late move down the Briton’s inside at the chicane. The pair touched, forcing both across the kerbs, but Hamilton held the position, and Verstappen was unable to launch another challenge before the chequered flag.
It was just reward after a long and difficult race for the championship leader, but Mercedes should have expected a more straightforward race after locking out the front row in qualifying, with Hamilton starting ahead of Valtteri Bottas.
The teammates led the opening stint of the race, but ironically it was Charles Leclerc, starting way out of position in 15th after a Ferrari qualifying blunder on Saturday, who triggered the circumstances to put Hamilton under so much pressure.
The Monegasque botched an attempt to pass Nico Hulkenberg down the Renault driver’s inside at Rascasse on lap nine and caused himself a right-rear puncture making contact with the barrier.
His car was dealt substantial damage by the disintegrating rubber as he sped back to the pits, forcing his eventual retirement on lap 17, and the debris triggered a sudden safety car that scrambled the frontrunning teams.
The top four drivers – Hamilton, Bottas, Verstappen and Sebastian Vettel – all dived into the pits, but they came out in a jumbled order. Hamilton held the lead, but Verstappen emerged in second after bumping Bottas into the wall as the pair exited their pit boxes side by side.
Worse still for Bottas was that he’d picked up a puncture in the collision, forcing another stop on the following tour that dropped him to fourth behind Vettel.
The frenetic synchronised stops served to enliven the race on two counts: it meant Hamilton was the only driver of the top four on the delicate mediums, and it resulted in Verstappen earning a five-second penalty, which doubled the onus on him to get past the Briton and build a buffer to offset the punishment.
It was a fascinating dichotomy that became more extreme the longer the battle raged.
The stress clearly weighed heavily on Hamilton, whose calls to the pit wall grew more frantic each lap as his tyres began to visibly chew themselves up. Pirelli had rated them as having a life of 50 laps; his strategy would require him to make it through 66 tours.
With 10 laps to go Verstappen was given access to a higher engine mode and visibly closed in on the back of the leading Mercedes. He favoured a wide line through the hairpin to earn a better exit, but Hamilton was centimetre perfect in his defence, positioning his car perfectly to deny the advances, and once he fended off the Dutchman’s final ambitious attempt at the chicane, he was able to relievedly take the chequered flag.
It was the Briton’s fourth win of the season and Mercedes’s sixth of its increasingly dominant campaign.
“That was definitely probably the hardest race I think I’ve had,” he said. “Honestly I was driving around on nothing… ultimately I think it was the wrong tyre.
“Nonetheless this team has done an incredible job. What we’ve achieved in this first six races is remarkable. I’m so proud to be a part of it.”
Hamilton paid tribute to Niki Lauda, the three-time F1 champion and Mercedes non-executive director who passed away earlier in the week, plunging the team into mourning ahead of the biggest race on the Formula One calendar.
“I really was fighting with the spirit of Niki,” he said. “Niki’s been such an influential person in our team. I know he’d be looking down and taking his hat off today.
“I was just trying to stay focussed and try to make him proud.”
Verstappen lost his place on the podium after his five-second penalty was added to his race time. The Dutchman was demoted to fourth, promoting Vettel and Bottas to second and third respectively.
“It was obviously a tough race,” Vettel said. “Obviously a great result for us. I think it’s great for the team.
“But we know we’ve got a lot of work to do . We know we’re not quick enough compared to [Mercedes and Red Bull Racing].”
Vettel too paid tribute to Lauda, with whom he exchanged letters in recent months as the Austrian icon battled ill health.
“I think he would be happy today,” he said. “I think he will always be around.
“We will definitely miss him. My thoughts are with his family and with him.”
Bottas was disappointed to finish third after coming so close to snatching pole on Saturday and losing what should have been a safe second through no fault of his own.
“I think the speed was really here and I was really good in the car,” he said. “Obviously a disappointing weekend for me.”
Pierre Gasly finished fifth, earning a bonus point for the fastest lap of the race.
McLaren’s Lando Norris kept Toro Rosso pair Daniil Kvyat and Alex Albon at bay in place six to eight, while Daniel Ricciardo snatched ninth from Romain Grosjean after the Frenchman served a late-race time penalty for crossing the pit lane line after his pit stop.
Hamilton leads Bottas by 17 points in the drivers championship, while Mercedes is 118 points ahead of Ferrari on the constructors title table.