It was the second win of Montoya's 41-race career and the first of the season for BMW-powered Williams, whose last triumph in the Mediterranean principality was in 1983 with Finland's Keke Rosberg.
Finland's Kimi Raikkonen finished runner-up for McLaren, 0.6 of a second behind Montoya, to stretch his championship lead over Ferrari's world champion Michael Schumacher to four points after seven races.
Raikkonen has 48 points, Schumacher 44.
Schumacher finished a close third, his hopes of equalling the late Brazilian Ayrton Senna's record of six Monaco wins in tatters after a highly strategic race on a tight street circuit where overtaking is almost impossible.
It was the first time since Ferrari introduced their new F2003-GA car last month that the Italian team had been beaten and ended Schumacher's quest for a fourth victory in a row after a poor start to the season.
Montoya's team mate Ralf Schumacher was fourth, after starting from pole, with Spaniard Fernando Alonso fifth for Renault ahead of Italian Jarno Trulli in the French manufacturer's other car.
McLaren's David Coulthard was seventh, a disappointment for the Scot who has won twice in the last four years, while Brazilian Rubens Barrichello claimed the final point for champions Ferrari.