By FOX Sports staff
The Thailand international opened the scoring for the Twin Qilins in the 25th minute, but the hosts fought back and equalised two minutes before the break through an effort from Anthony Moura-Komenan.
However, Teerasil struck again in the 71st minute to help his side reclaim the lead, before completing his hat-trick in the second minute of injury-time to seal the win for the visitors.
The result saw Muangthong move two points behind leaders Buriram United, although the Thunder Castle can stretch their lead back to five points with a win over Ratchaburi on Sunday evening.
Over at the Suphanburi Municipality Stadium, Bangkok Glass' seven-game unbeaten run in the league was brought to a halt as they fell to a 1-0 defeat to Suphanburi.
Following a goalless first half, the decider came in the 50th minute when Dragan Boskovic stepped up and successfully converted a penalty to hand the hosts all three points.
Finally, TOT climbed up three places to 13th following a 2-1 win at home to Chainat.
Having taken the lead in the 28th minute through an effort from on-loan midfielder Juninho, TOT doubled their tally three minutes into the second half when Ekkachai Rittipan found the back of the net.
Chainat did pull one back in injury-time when Sumanya Purisay struck his eighth goal of the campaign, but it proved to be little more than a consolation as the hosts held on for a valuable victory.
Saturday's Thai Premier League Results
Suphanburi 1-0 Bangkok Glass
Osotspa Saraburi 1-3 Muangthong United
TOT 2-1 Chainat