Thompson downs Zverev to set up Los Cabos final against Ruud
Thompson, the Australian eighth seed, needed eight match points to beat the German 7-5, 4-6, 7-6 (7/2) in a three-hour, 40-minute marathon that ended in the early hours of Saturday morning.
The 29-year-old Thompson will be seeking his first ATP tour singles title when he faces Ruud on Saturday evening.
Ruud rode a strong start to a 6-4, 7-6 (7/4) victory over defending champion Stefanos Tsitsipas in the evening’s opening semi-final.
In the previous round, Thompson saved three match points as he came back from 6-0, 3-0 down against Alex Michelsen.
"I think it's just a miracle," said Thompson on court after the match. "I never thought I'd be here."
Against Zverev, Thompson had five match points on his opponent's serve at 6-5 in the third set but the German saved them all. Thompson broke away in the tiebreaker with six straight points. Zverev saved another match point but Thompson served out the second.
"It was over three and a half hours," said Thompson. "It was just a great match and I just competed until the end I really don't know what to say. I'm pretty tired."
Earlier, fourth-seeded Ruud didn't lose a point on his first serve in the opening set, then had to save five set points in the second to seal a straight-sets victory.
"It was a really close match, all in all, especially the second set," Ruud said. "I was fortunate to save a few set points there and hold him off.
"I was just a bit lucky," added Ruud, who faced set points in each of his last two service games but raced to a 4-0 lead in the tiebreaker and polished things off after one hour and 49 minutes.