Dimitrov showed he wasn't nervous or intimidated when the 478th-ranked wild card from Bulgaria broke Nadal for 4-4, only to lose his serve again at 5-5 as Nadal won the first set.
Last year's Wimbledon and U.S. Open junior champ broke Nadal at 4-3 in the second and held on to force a decider.
There, Nadal's experience told, as he saved two break points and finally won after 2 hours, 26 minutes, as Dimitrov suffered leg cramps.
"He will certainly be a great player and for sure reach the top 10,'' Nadal said.
Seventh-seeded Jo-Wilfried Tsonga, last week's champion in Johannesburg, waits for Nadal after the Frenchman beat Dmitry Tursunov of Russia 7-6 (6), 6-2.
Also in the second round, second-seeded Andy Murray beat Andreas Seppi of Italy 7-6 (4) 7-5, and fifth-seeded Gael Monfils ousted defending champion Michael Llodra 6-4, 6-4.
Murray fought back from a 3-1 deficit in the second set, claiming the decisive break at 5-5 over Seppi, who beat Nadal in last year's event. Next up for Murray will be lucky loser Marc Gicquel of France, who has taken advantage as a late replacement for injured 2008 finalist Robin Soderling by beating countryman Paul-Henri Mathieu 6-4, 6-3.
Monfils' win over Llodra set up another all-French match with Julien Benneteau.
"It's interesting that French players have done so well in Rotterdam in recent years,'' Monfils said. "We like it here.''
However, fourth-seeded Frenchman Gilles Simon lost to Mario Ancic of Croatia 6-4, 3-6, 6-3.
A single service break decided each set, as Ancic avenged his third-round loss to the Frenchman in the Australian Open.
"You know you have to fight for every point against Simon,'' Ancic said. "Sometimes you have to be patient and I managed that today.''
Ancic, coming off last Sunday's final in Zagreb, next meets Mikhail Youzhny of Russia.
Nadal, Murray advance to Rotterdam final
Predrag Mijatovic Seething At Real Madrid’s Faubert Purchase