Dimitar Berbatov gave the home side the lead after just five minutes, finishing expertly with a delicate lob over the goalkeeper.
Nice struggled to contain Claudio Ranieri's side as Monaco's midfield continued to dominate in the opening stages.
Valere Germain almost doubled Monaco's lead on 16 minutes, but his strike hit the post as the home side pressed Nice into their own half.
The away side had their first real effort on goal after 20 minutes through Valentin Eysseric, although the midfielder's shot was comfortably parried clear by the goalkeeper.
Monaco continued to hit Nice on the counter attack, putting David Ospina under constant pressure each time they broke forward at pace.
Nice had a shout for a penalty turned down by the referee, who ruled that Andrea Raggi didn't deliberately handball in the area.
The introduction of Dario Cvitanich inspired Nice in the second half as they began to force Monaco onto the back foot for spells.
Despite the improvement in play, Nice struggled to create any clear-cut chances in the final third as Monaco held firm and secure all three points.