Zverev, the German star coming off a victory last week in Washington, double-faulted on match point to send Tsitsipas to his first ATP World Tour Masters 1000 semifinal.
Tsitsipas, 19, beat seventh-seeded Dominic Thiem and ninth-seeded Novak Djokovic to reach the quarterfinals. He's the youngest player to beat three top-10 players in one tournament since Nadal -- who also was 19 -- in 2006 at Monte Carlo.
Tsitsipas will face fourth-seeded Kevin Anderson in the semifinals, trying to become the youngest to beat four consecutive top-10 players in an event since the ATP World Tour was established in 1990. Anderson beat fifth-seeded Grigor Dimitrov 6-2, 6-2.