The Frenchman, who currently sits in the eighth and final qualifying spot, beat Marcos Baghdatis in a dramatic semi-final that was only decided when the Cypriot was forced to retire injured while trailing 6-4 4-6 5-2 in the final set.
Tsonga will face Tomas Berdych in the final, the Czech world number six who is also in the running for a spot in the season-ending tournament at the O2.
Second seed Berdych was in imperious form as he needed just 69 minutes to dispatch third seed Nicolas Almagro 6-3 6-2 in the other semi-final, breaking his opponent four times without having to face a single break point himself.
In Vienna, top seed Juan Martin del Potro also boosted his hopes of qualifying for the World Tour Finals as he edged a tense semi-final scrap with Gilles Muller.
World number 81 Muller went toe-to-toe with the former US Open champion, saving both break points earned by the Argentinian, but it was Del Potro who held his nerve better in both tie-breaks.
He will face Slovenian qualifier Grega Zemlja in the final after he shocked second-seed Janko Tipsarevic 3-6 7-6 (5) 6-2.
''This is an incredible dream,'' said world number 70 Zemlja after he reached his first career final. ''I am full of confidence now. I have no tactics yet to play Del Potro. I will have to talk to my coach first.''
ATP Stockholm semi-finals results
1-Jo-Wilfried Tsonga (France) beat 7-Marcos Baghdatis (Cyprus) 6-4 4-6 5-2 (Baghdatis retired)
2-Tomas Berdych (Czech Republic) beat 3-Nicolas Almagro (Spain) 6-3 6-2
ATP Vienna semi-finals results
1- Juan Martin del Potro (Argentina) beat Gilles Muller (Luxembourg) 7-6(4) 7-6(5)
Grega Zemlja (Slovenia) beat 2-Janko Tipsarevic (Serbia) 3-6 7-6(5) 6-2
ATP Moscow semi-finals results
2-Andreas Seppi (Italy) beat Malek Jaziri (Tunisia) 6-3 6-1
4-Thomaz Bellucci (Brazil) beat Ivo Karlovic (Croatia) 6-7(5) 6-4 6-4