In a repeat of the 2010 Wimbledon final won by Nadal, the Spanish second seed struggled to impose himself early against Berdych, losing the first set, but recovered to win 6-7 (5/7), 7-6 (8/6), 6-4, 6-3 in 4hrs 16min.
"I tried my best in every moment," said Nadal. "He played very well during almost the whole match."
The semifinal will be a repeat of the epic Nadal-Federer title match at the 2009 Australian Open, won by Nadal, which the Spaniard described as "one of those memories that will always be in my mind".
The Czech seventh seed, unsettling Nadal with the power of his shot-making, missed a golden opportunity to take the first set when he squandered four set points in the 12th game.
But in a dramatic tiebreak he made no mistake, thundering down an ace after the courtside umpire refused a late challenge from a furious Nadal.
Nadal missed out on a set point in the 12th game of the second set but he then saved a Berdych set point in the tie-break, and the pumped-up Spaniard levelled the match when the Czech went long.
Second seed Nadal began to seize the initiative as Berdych faded, taking the third set 6-4 and breaking in the first game of the fourth set with a searing forehand winner down the line.
And Berdych, whose previous match ended in bitterness after he accused Nicolas Almagro of deliberately targeting him with a forehand, could find no way back as Nadal sealed the win