Hamilton had slipped to third after a Safety Car restart brought on when Alfa Romeo’s Kimi Raikkonen collided with Antonio Giovinazzi’s left rear wheel on lap seven.
But the 36-year-old Hamilton overtook Verstappen on lap 11, ultimately racing previous Bottas, who had began in pole, for the lead 9 laps later.
Once he had pulled forward on the Algarve International Circuit, Hamilton by no means appeared again, successful by a snug 29.148 second margin.
The victory for Hamilton is his second of the season and places him eight factors forward of Red Bull’s Verstappen within the title standings.
“That was such a tough race physically and mentally,” Hamilton informed reporters after the race. “Today wasn’t all perfect so we’ll look at those areas and turn over the stones.”
The seven-time world champion will look to lengthen his lead within the title standings on the Spanish Grand Prix on May 9.