Tsonga, the top seed at the Erste Bank Open in Vienna, escaped No. 149-ranked Dominic Thiem 6-4, 3-6, 7-6 (7-3).
Tsonga saved seven of the eight break points he saw but didn't have to deal with any in the third set. He jumped out to a 4-0 lead in the tiebreaker before putting the win away.
Second-seeded Tommy Haas took a tight 7-6 (12-10), 6-3 decision from No. 5-seed Radek Stepanek. Haas converted his only break opportunity of the second set and saved all three of the break points for Stepanek.
Robin Haase won more than two-thirds of the points of the second and third sets in defeating third-seeded Fabio Fognini 6-7 (4-7), 6-1, 6-1. After the tight first set in which there were no breaks, Haase lost six points -- three in each set -- on serve the rest of the way.
No. 8-seeded Lukas Rosol claimed his spot in the semifinals with a 6-3, 1-6, 6-3 win over Ruben Bemelmans. Rosol didn't see a break point outside the second set.
Tsonga goes against Haase in one of Saturday's semifinals. Tsonga won their only previous meeting, winning two tiebreakers in a straight-set win. Haas and Rosol have never played each other in an ATP match before.