In a race livened up by a downpour after a processional 51 laps in dry conditions, Spaniard Fernando Alonso finished second for Aston Martin but a massive 27.9 seconds behind at the chequered flag.
Frenchman Esteban Ocon completed the podium in third place for Renault-owned Alpine, their first top three finish of the season.
Mercedes' seven-times world champion Lewis Hamilton was fourth and collected a bonus point for fastest lap.
Last year's winner Sergio Perez, Verstappen's closest rival and team mate, was twice lapped on his way to 16th place after starting last. The Mexican also made five pitstops on a nightmare afternoon.
"That was a real Monaco," Verstappen said after a 78-lap race that lasted an hour and 48 minutes on a tricky street circuit where overtaking is a rare occurrence.
"It was incredibly slippery and when you are that far in the lead you don't want to push too hard but also you don't want to lose too much time so it's quite difficult in that scenario.
"I clipped the wall a few times and it was super difficult out there. But that's Monaco."
The win was Verstappen's fourth of the season, second in Monaco and 39th of his career. It also made him the driver to have won most races for Red Bull, one more than retired four times champion Sebastian Vettel.
Verstappen now has 144 points to Perez's 105 and Alonso's 93. Red Bull have 249 points in the constructors' standings with Aston Martin on 120 and Mercedes 119.
Mercedes' George Russell was fifth and home hero Charles Leclerc finished sixth for Ferrari after a three place grid drop for impeding in qualifying.
Alpine's Pierre Gasly, Ferrari's Carlos Sainz, McLaren's Lando Norris and team mate Oscar Piastri completed the points positions.
Verstappen led away cleanly from the start on the medium tyres, with Alonso opting for hards and slotting in close behind.
If the podium ended up being the same top three as on the starting grid, the late rain brought excitement as drivers slid around a track wet in some places but dry in others.
Some, such as Ferrari's Carlos Sainz, got too close to the barriers before pitting for intermediates or full wets.
Verstappen also slid scarily at Portier as he delayed his pitstop to lap 56 to coincide with the rain, while Alonso initially pitted for mediums and then had to come in again for intermediates.
"We thought to play a long game with the strategy but Max drove super well on the medium tyres and extended that first stint. We didn't have any chance and then at the end the rain put things a bit complicated out there," said Alonso.
"It was not easy and I was surprised there were no safety cars from incidents, I think everyone was doing an amazing job today to keep the cars on track."
Red Bull boss Christian Horner said Verstappen would have been under more pressure had Alonso picked the intermediate tyres straight away.
While Alonso celebrated his fifth podium of the season, and best result yet for Aston Martin, Canadian team mate Lance Stroll retired after repeated tangles with rivals.
The only other driver not running at the finish was Haas's Kevin Magnussen, who hit the barriers at Rascasse and retired in the pits.
His team mate Nico Hulkenberg was 17th in the team's 150th race and collected a five-second penalty for causing a collision with Williams' Logan Sargeant.
Perez pitted at the end of lap one intending to go the distance on hards but his race soon fell apart. He was lapped by Verstappen long before half way and had collisions with Magnussen, Stroll and Russell.
"I have to move on and learn from it. I cannot afford another zero in the championship," he said.