The 6-4, 6-3 victory was a sort of revenge for Thiem, who was beaten by the Spaniard in the Madrid Open final last week.
"Of course I came in with a very aggressive game style because I knew that if I want to have a chance, then I have to do something different and be more aggressive," Thiem said. "I knew that if it goes in, everything, maybe I have a chance. If not, maybe I also lose easy.
"But today was one of these days where I really felt the ball great on the racket, and a lot of risky shots went in. It was a very, very good performance, and I think probably one of my best matches."
The 30-year-old Nadal, who was seeded fourth, had won consecutive clay-court tournaments in Monte Carlo, Barcelona and Madrid and was aiming for an eighth title at the Foro Italico as he prepares for the French Open in less than two weeks.
"I just have to congratulate [Thiem] because he was better than me this afternoon," Nadal said. "He played great in all aspects. Just well done for him.
"It's obvious that I did not play my best match. I have been playing a lot ... so is not easy after playing almost every day for the last four weeks."
The 23-year-old Austrian dominated from the start, racing to a 5-1 lead. Nadal recovered and broke back to cut the gap to 5-4, but Thiem needed just one of his two set points when Nadal's backhand down the line landed just wide.
Thiem almost broke again early in the second set, but Nadal managed to save two break points and go on to hold his serve.
However, Thiem took advantage on his opponent's next service game, putting in several delightful returns that had the audience on their feet before closing the game with a cross-court forehand.
Thiem almost allowed Nadal back into the match but managed to cancel out three break points to go into a 5-3 lead, and he broke again to take the match when Nadal sent a forehand long.
The unseeded Isner, who hit 21 aces, beat sixth-seeded Marin Cilic 7-6 (3), 2-6, 7-6 (2) in a serve-dominated quarterfinal to become the first American to reach the last four at the Italian Open since Andy Roddick in 2008.
Zverev beat fifth seed and 2014 semifinalist Milos Raonic 7-6 (4), 6-1.
Muguruza raced into a 4-0 lead against Williams, who was seeded ninth, and comfortably closed out the set.
The 36-year-old Williams used her experience to bounce back in the second, although she had to save three break points immediately after earning her first break of the match.
It seemed as if the match was going Williams' way when she broke in the first game of the deciding set, but Muguruza broke straight back and earned the double break when the American double-faulted twice.
Muguruza broke again in the final game, sealing the match when a Williams forehand down the line landed wide.
The 21-year-old Kontaveit, who beat top-ranked Angelique Kerber in the second round, saved two break points before succumbing to Halep's clay-court prowess.