Federer, a 17-time Grand Slam champion, was first to break in this afternoon's quarter-final, but Tsonga hit straight back to level the opening set at 2-2.
Tsonga then held to love to go in front, but it was all Federer in the first set from there as the Swiss won four games in a row to claim the opener 6-3.
Federer lost his serve at the start of the second set and could not recover as Tsonga raced to a 6-2 success, sending the match to a deciding third set.
It was a much tighter affair and just one break point was presented by either player. Tsonga took it in the 11th game to go 6-5 in front and then served out the win to reach the last four, where he will face the winner of the last quarter-final between another Frenchman, Gael Monfils, and Spain's Marcel Granollers.