The Bulgarian struck early in the first half to seal maximum points for the home side, who move to within seven of league leaders Paris Saint-Germain having played a game more
The Bulgarian's clever finish in the opening stages saw Claudio Ranieri's side move to within seven points of league leader Paris Saint-Germain, and guaranteed a return to European football next season, having played a game more.
It took Monaco just five minutes to break the deadlock, with Berbatov lifting a clever lob over David Ospina for his third goal in Ligue 1 since his January move.
Valere Germain came close to doubling the advantage as he fired a shot off the post after 20 minutes as Monaco continued to pile on the early pressure.
Valentin Eysseric was denied by a smart save from Danijel Subasic, and had a penalty shout for hand ball waved away by the referee.
Nice stepped up its performance in the second half, with Subasic twice called into action to deny an equalizer, denying Didier Digard on 70 minutes before clearing the danger following a corner.
Substitute Nabil Dirrar spurned a chance on the counterattack after some effective link-up play with goalscorer Berbatov, as Monaco looked to close out a match which never fully fired into life.
PSG remains the clear leader and will have a game in hand after playing the Coupe de la Ligue final against Olympique Lyonnais this weekend, while Monaco moves nine points clear of third-placed Lille. Nice remains 13th.