Verstappen claimed his 14th win of the season to move ahead of Michael Schumacher and Sebastian Vettel and stand on his own as the Formula One driver with the most victories in a single campaign.
Mercedes hoped a different tyre strategy to Red Bull in Mexico City would propel Hamilton to both his, and the team's, first win of the campaign.
But the seven-time world champion had no answer to Verstappen, crossing the line 15.1 seconds behind his rival.
As he conducted his post-race interview, Hamilton was heavily jeered by the Red Bull-supporting crowd with Verstappen's team-mate and home favourite Sergio Perez completing the podium.
Perez pleaded with his fans to stop booing by wagging his finger.
"It has definitely been a bit awkward this time around with boos all day," said Hamilton. "But, nevertheless, I have so much love for Mexico and for the people here.
"I was so close [to Verstappen] in that first stint but I think the Red Bull was clearly too fast and ultimately they had the better tyre strategy.
"I'm not sure the hard tyre was the right tyre at the end. I thought we should have started the race on the soft [rather than the medium], but obviously we had the opposite tyre to them."
Hamilton now has only two races - in Brazil on November 13 and Abu Dhabi a week later - to retain his unique record of winning at least one race in each season he has competed - a remarkable streak which stretches back to his first year in 2007.
Verstappen's triumph on Sunday was his 14th from 20 rounds this year, and eighth from his last nine appearances. It also marked Red Bull's ninth victory in a row.
Verstappen, who controlled the race after staying ahead of both Hamilton and George Russell in the other Mercedes on the long run down to Turn 1 at the Autodromo Hermanos Rodriguez, said: "The start helped me out a lot to stay in the lead.
"We were on a different strategy [to Mercedes] but it was an incredible result. It has been incredible year so far. We are enjoying it and we will try to go for more wins."