Juan Martin del Potro meanwhile clambered off the court floor and from a set down to knock out Serbia's Viktor Troicki.
Juan Martin del Potro meanwhile clambered off the court floor and from a set down to knock out Serbia's Viktor Troicki 4-6, 6-1, 6-4 and will play Roger Federer or unseeded Frenchman Richard Gasquet in the other semi.
Nadal, who has never won the Shanghai showpiece, is chasing a seventh title in a brilliant season and a hat-trick of triumphs on the trot, having been crowned US Open and China Open champion in recent weeks.
The 16-time Grand Slam winner saw off the Bulgarian Dimitrov in Beijing last week but suffered some hairy moments in getting the better of him again in a nervy quarter-final played in overcast conditions.
"Very happy, it was a very tough match, both of us played a very high level of tennis," said the 31-year-old Spaniard, the top seed.
"I enjoyed it, a great battle between two players that are playing all the time very focused and intense points.
"A lot of matches in a row winning and very happy with everything, let's see what happens tomorrow, but being able to win in Beijing and now semi-finals here... tough events against tough players.
"Just focus on holding that momentum."
Nadal edged in front when he got the break of serve in the ninth game of the first set and there was nothing between them as they entered a tense second-set tie break.
The Spaniard got the mini-break for a 3-0 lead in the tie break, but sixth seed Dimitrov scrapped back to level, and then stunned Nadal to clinch the tie break.
The two friends headed into a deciding set with Dimitrov in the ascendancy and the pro-Nadal crowd fearing an upset.
Dimitrov sensed another opportunity in the fifth game of the third set, but Nadal survived the break point.
Nadal took the momentum into the next game to immediately break Dimitrov and finally end the Bulgarian's resolve.
The Spaniard's victory march was only momentarily held up when a disturbance broke out in the crowd and the players were forced to wait as a small group of spectators was escorted out of the arena.
A relieved Nadal looked up to the heavens and raised his arms at the end.
The Croatian fourth seed Cilic -- who has defeated Nadal only once in five matches -- beat unseeded Spaniard Albert Ramos-Vinolas 6-3, 6-4.
Argentine 16th seed Del Potro fought back from a set down for the second match in a row.
There was a scare when the 29-year-old, who has suffered years of wrist injuries that have threatened his career, took a nasty tumble at 2-2 in the deciding set against unseeded Troicki.
His foot appeared to get stuck on the floor and he crumpled down, landing with his weight on his outstretched left hand -- his predominantly non-playing hand -- and bending it painfully backwards.
The 2009 US Open champion's career has been blighted by wrist injuries and he has had three operations on the left one.
He needed several minutes of medical attention and sat on a chair on the back of the court, wincing in obvious distress.
Incredibly, he broke the Troicki serve on his immediate return to action.