Norris won the 72-lap affair by more than 20 seconds despite falling behind Verstappen off the line.
The Red Bull Racing driver was second at the flag ahead of Charles Leclerc, who resisted strong pressure from Oscar Piastri in the final stanza of the race.
Daniel Ricciardo was 13th in a fine drive that ultimately netted no real return for RB, team-mate Yuki Tsunoda finishing well over 30 seconds back from the Australian in 17th.
Another poor start from pole man Norris saw Verstappen ease into the lead by Tarzan, while George Russell slipped up the inside of Piastri to steal third.
Piastri was quickly under pressure from Leclerc out of Hugenholtz, though fended off the Ferrari as it came under pressure from Sergio Perez behind.
At the end of the opening lap, Verstappen held a nine-tenth advantage over Norris, then came Russell, Piastri, Leclerc, Perez, Pierre Gasly, Fernando Alonso, Carlos Sainz, and Lance Stroll.
In the pack, Tsunoda was slipping backwards, losing a spot to Lewis Hamilton midway around Lap 2 before coming inter intense pressure from Valtteri Bottas.
That trio had all opted for soft compound tyres, the remainder of the those on the grid on mediums (Kevin Magnussen from the pit lane started on hards).
By Lap 4, Verstappen had pulled clear of DRS range of Norris, who was similarly clear of Russell.
The Mercedes driver was becoming a cork in the bottle, with Piastri on his heels heading a train that included Leclerc and Perez.
Another formed behind Gasly, that queue running back to Tsunoda in 13th.
The front of the race quickly settled down, the leading duo easing away from Russell, who’d also pulled clear of Piastri.
The Australian held station just over a second behind the Mercedes, suggesting after the opening exchanges that he’d accepted his position and had settled in to play the long game.
Hamilton continued to move forward, reaching ninth on Lap 16, the seven-time champ the last man standing on the soft tyres after Bottas and Tsunoda stopped.
Norris closed in on Verstappen as they began Lap 17, the Dutchman complaining of a lack of grip from his Red Bull Racing.
With DRS active, the McLaren driver scythed his way into the lead at Tarzan as they started the next lap.
Norris immediately opened a six-tenth advantage, building that to over a second at the end of Lap 18.
However, Verstappen remained just in range at the DRS detection zone, which allowed him to claw his way back to seven-tenths down as they flashed across the line.
The DRS elastic was broken next time by, Verstappen slipping 1.3s back from the race lead.
Norris was charging and quickly began to pull away as he looked to cover off the threat posed by the undercut strategy.
In fourth, Piastri was under pressure from Leclerc but seemingly managing the gap to Russell ahead.
He was a second a lap slower than his race-leading team-mate, but holding a steady 1.3s deficit to Russell in third.
Ferrari hauled Leclerc into the pits at the end of Lap 24, Mercedes pitting Russell next time around the cover off the undercut threat the Monegasque driver posed.
McLaren did not react, Piastri instead lifting his pace with his best lap of the race on Lap 26.
The undercut was successful for Leclerc, who cleared Russell through their pit stop cycle.
Verstappen was next in, pitting after 28 laps to swap onto a set of hard compound tyres.
McLaren reacted with Norris as Piastri continued to extend his opening stint to take over at the front of the race.
Norris retained the effective lead with a comfortable margin over Verstappen – the pair running fourth and fifth on the road.
On Lap 31, Piastri was the final leading runner yet to stop.
With those he was racing having already stopped, and enjoying stronger pace, he was effectively compelled to extend the stint in the hope of holding a tyre advantage in the latter stages of the race.
However, McLaren pulled the trigger after 33 laps, taking a set of hard tyres to feed out into fifth behind Russell in a strategy that was neither one thing nor the other.
As he rejoined, Piastri held an eight-lap tyre advantage over Russell, and nine laps to Leclerc.
He promptly used that to record the fastest lap of the race as he began to reel in Russell ahead.
Piastri caught the Mercedes on Lap 39 and sailed around the outside at Tarzan as they began the next lap.
That left him 3.8s back from Leclerc in third but running seven-tenths a lap faster than the Ferrari.
At the end of Lap 45, Piastri was within DRS range of the final podium place but Leclerc proved more difficult to clear that Russell.
Traction out of Turn 12 appeared the key issue; Piastri unable to stay close enough out of the tight left-hander to be able to capitalise on DRS down the front straight.
Mercedes made the call to two stop both Hamilton and Russell, giving up track position for a tyre advantage in the final 20 laps of the race.
It was a call that cost Russell a two places, to Sainz and Perez, while it was a free stop for Hamilton. The pair made no impact and remained seventh and eighth to the chequered flag.
Out front, Norris dominated the race to win by 22.9 seconds from Verstappen, with Leclerc completing the podium.
Piastri ended up 1.8s short of the Ferrari with Sainz fifth from Perez, Russell, Hamilton, Gasly, and Alonso rounding out the top 10.
Rubbing salt into the wounds at Red Bull Racing was Norris picking up the bonus point for fastest lap on the final lap.
It leaves Red Bull Racing only 30 points clear of McLaren in the constructors’ championship, though Verstappen remains 70 points clear of Norris in the drivers’ championship.