Zverev, 20, will face John Isner for a place in the final after the American edged out Croatian Marin Cilic 7-6(3) 2-6 7-6(2).
"It's another stepping stone in my career," Zverev told the ATP's website. "I feel like I have played very well today. I returned very well.
"So I'm happy to be in the semis and playing John tomorrow, who I know very well from our Saddlebrook (Florida) days. It's going to be a great match."
In his first meeting with Raonic, Zverev twice let a break slip in the opening set, on the second occasion failing to serve out the set at 6-5. But in windy conditions he comfortably won the tiebreak and sped through the second set.
Isner served 21 aces on his way past Cilic as he became the first American to reach the semi-finals in Rome since Andy Roddick in 2008.
Results from the Italian Open men's quarter-finals
- 8-Dominic Thiem (Austria) beat 4-Rafa Nadal (Spain) 6-4 6-3
- 16-Alexander Zverev (Germany) beat 5-Milos Raonic (Canada) 7-6(4) 6-1
- John Isner (US) beat 6-Marin Cilic (Croatia) 7-6(3) 2-6 7-6(2)
Read the original article on Eurosport: Zverev gives Raonic a lesson in Rome to reach semis