Nadal, a former seven-time champion in the Italian capital, had dominated Thiem to win the Madrid Masters final last week.
But the 30-year-old, seeded fourth in Rome and building up for an assault on a 10th French Open title, was outplayed throughout a thrilling encounter on centre court.
Thiem, the eighth seed, will now meet the winner of the quarter-final clash between four-time winner Novak Djokovic, seeded second, and unseeded Argentinian Juan Martin del Potro.
Nadal, meanwhile, said he intends to have a free weekend before ramping up his preparations for Roland Garros from Monday.
"Tomorrow I'll be in Mallorca fishing or playing golf, or another thing. I'm going to rest a little bit, I think I deserve it," said Nadal.
"Then from Monday and Tuesday I will start to prepare for Roland Garros. It's an important event for me.
"If you do things well, you have more chances in Roland Garros. I hope to play my best tennis in Roland Garros."
The 30-year-old made amends for his comparative lack of playing time with a 6-3, 6-4 win over American Jack Sock on Thursday.
But from the outset against Thiem, who had also lost to the Spanish star in Barcelona, Nadal looked in trouble.
The Austrian's serve, precision and movement were near flawless and soon had Nadal hitting shots wide of the mark.
As the centre court crowd steadily got behind the 23- year-old upstart, Nadal's confidence waned.
"It's a very tough situation in tennis. I mean, you have a big win, and the next day there is Djokovic or Del Potro waiting," said Thiem after his second victory in six meetings against Nadal, adding to his 2016 Argentina Open semi-final win.
"It remains very, very difficult. But they are both unbelievable, big players. I think it's going to be a tough match between them today. Whoever wins, I have to take on tomorrow."
Zverev will face unseeded John Isner, 12 years his senior, after the giant American clinched a 7-6 (7/3), 2-6, 7 -6 (7/2) win over Croatian sixth seed Marin Cilic.
"It's another stepping stone in my career," said Zverev.
In the WTA event, Romanian sixth seed Simona Halep and Dutchwoman Kiki Bertens will face off in the semi-finals on Saturday. Halep, the champion in Madrid last week, surged into the last four for the third time after a 6-2, 6-4 win over Estonian qualifier Anett Kontaveit.
In the other semi-final French Open champion Garbine Muguruza of Spain meets Elina Svitolina, who stunned Czech second seed Karolina Pliskova 6-2, 7-6 (11/9).
Muguruza overcame a second-set fightback from Venus Williams to prevail 6-2, 3-6, 6-2 against the American, seeded ninth.
Disclaimer: No Business Standard Journalist was involved in creation of this content
