Hamilton took the fastest lap, and with Verstappen finishing in second, it means the two title rivals head to Abu Dhabi completely level.
Valtteri Bottas took third right on the line from Esteban Ocon, with Mercedes now enjoying a wide advantage in the constructors championship too.
Hamilton, who started on pole, kept his lead into the first corner, and maintained it until a safety car on the 12th lap. Mick Schumacher crashed heavily, and Hamilton took the chance to pit.
Verstappen stayed out and had the lead, and when the red flags were then waved, he could then pit during the stoppage while maintaining track position.
Hamilton and Verstappen then very nearly collided at the restart, before another red flag just seconds later. Race control decided that for the third start of the race, it would be Ocon ahead of Hamilton, with Verstappen in third.
But Verstappen made a stunning start, and got past both of those ahead of him to take the lead ahead of his big rival.
On lap 37, the two of them went wheel-to-wheel. Hamilton moved ahead, but Verstappen then forced him wide in a move that the stewards investigated.
There were more extraordinary scenes the following lap. Verstappen was told by his team to give the place back and slowed down, but Hamilton was unaware of what was happening and went straight into the back of the Red Bull.
A furious Hamilton claimed he had been brake tested. Verstappen then gave the place back a few laps later for a matter of seconds, before lunging straight back down the inside to move ahead.
Eventually the Dutchman would give up the place, and was also given a five-second time penalty, as Hamilton roared into the distance to take the fastest lap and the race victory.
The quick, tight nature of the Saudi Arabia track promised drama, and it certainly delivered with one of the most incredible races in recent F1 history, setting up a title showdown next weekend.