Djokovic, who extended his current winning streak to 16 matches, will face sixth-seeded Tomas Berdych as he bids for a second title at the clay-court Masters.
With Prince Albert among the onlookers, both players produced some stunning tennis as Nadal showed glimpses of his old self, mixing aggression and superb defensive shots.
But the Spaniard, who has been struggling to get back to his best after a wrist injury and an appendectomy, was not consistent enough to deny Djokovic a shot at his fourth Masters title in a row.