Rosberg beat Hamilton to pole position on Saturday after he went off at the Mirabeau corner, as the caution flags prevented a marauding Hamilton from improving.
The German was never threatened in the principality as he led every lap to record his first race win since the opener in Australia and prolong Mercedes' dominance this season.
Hamilton finished second for the sixth successive Mercedes one-two, while Red Bull's Daniel Ricciardo came third.
Rosberg, winner in Monaco last year, and Hamilton barely looked at, let alone acknowledged, each other on the podium as F1's 21st century equivalent of an Ayrton Senna-Alain Prost rivalry intensified.
It means Hamilton's run of four successive triumphs is over, ensuring Rosberg leapfrogs the Briton in the standings by four points as the toe-to-toe scrap between the duo continues.
Hamilton remained within touching distance of his title rival for 60 laps until he suddenly announced over the radio he could not see out of his left eye.