The result lifted Nice up to fourth in the standings with three games left, level on 60 points with third-placed Olympique Lyon who will play their game in hand at strugglers Nancy later on Sunday (1500 GMT).
The top two teams in Ligue 1 qualify directly for the Champions League group stage while the third-placed side play in the third qualifying round.
Rennes dominated the first half but were toothless up front.
Nice, instead, went ahead with one of their first clear chances when Cvitanich headed home from close range from Kevin Diaz's cross seven minutes into the second half.
Four minutes later, Rennes were reduced to 10 men as Chris Mavinga was shown a straight red card for pushing Cvitanich in the back.
Argentine striker Cvitanich doubled the advantage from the penalty spot after an Alou Diarra handball in the box 20 minutes from time.
Rennes, who have nothing left to play for this season, were no match for the visitors.
Eric Bautheac scored the third with a fine strike on the turn with five minutes remaining.
Nice also finished with 10 men when Nemanja Pejcinovic picked up a straight red card for a foul on Jonathan Pitroipa.
Paris St Germain can be virtually assured of a first French league title since 1994 if they beat Valenciennes at home later on Sunday (1900 GMT).