The Thais, three-times winners of the tournament, will play Singapore in the final of the biennial Southeast Asian Championships with the first leg to be played in Singapore on Wednesday.
"We are very happy to reach the final," Thailand coach Winfried Schaefer, who watched from the stands after being sent off in the first leg, told reporters.
"We played very well with determination. But we lost concentration in the final moments. We should have scored three or five goals."
After an entertaining first leg in Kuala Lumpur on Sunday finished 1-1, the return in Bangkok was always going to be an even affair. The contest was turned on its head by the sending-off of defender Fadhli Shas for jostling with an opponent on the stroke of halftime.
Thailand, the better team over the two legs, made the numerical advantage count and took the lead on the hour mark through tournament top scorer Teerasil Dangda with defender Teerathorn Bunmathan making the game safe five minutes later.
The home side were guilty of missing several further chances as the defending champions lost their discipline in the second period.
"In the first half, we did well. But when our player was sent off and we conceded the first goal, it was very difficult for us to make a comeback." Malaysian coach K Rajagobal said.
The Thais won three of the first four editions of the tournament, which began in 1996, and will be favourites to add a fourth title against three-times winners Singapore.
"We have not won the title for 10 years and it's time for us to win back the title," Schaefer said.