Worasak Srirangpirot scored the first goal for the hosts with a header in the 14th minute. Six minutes later Tajikistan clawed their way back with Dilshod Salomov drilling a grounded effort between the legs of defender Itticha Praphaphan and into the net.
Four minutes into the second half, Tajikistan took the lead when Sardorov nutmegged Ittacha on the left flank to set up Bahodur Khojaev for a close-range finish.
Thailand pulled one back in the 30th minute from a crisp power play move that saw Alongkorn Janphon strike the bar before squeezing the rebound past Firuz Bekmurodov.
The hosts continued pushing and equalised in the 37th minute with a close-range strike by Therdsak Charoenphong to force the game into extra-time, which turned out to be goalless.
In the penalty shootout, Thai goalkeeper Arut Senbat emerged as the hero, saving three penalties, while Narongsak Wingwon scored the decisive penalty for Thailand.
Thailand are in the final for the third time, and will face either 12-time champions Iran or Uzbekistan, in Sunday’s decider. The match can be viewed live from 6pm on T Sports channel 7.