With their second win of SEA Games 2019, Thailand moved to six points from three matches in Group B.
Meanwhile, Vietnam pipped Indonesia 2-1 with an injury-time goal to stay three points ahead of the Thais. Indonesia also have six points. Laos beat Brunei 3-0 in another Group B match on Sunday to leapfrog Singapore into fourth place.
Singapore were put on the back foot very early in the match as two quick moves by Thailand's Supachai Chaided and Jaroensak Wonggorn rattled their defenders.
The War Elephants had their wish of scoring early in the match as Suphanat Mueanta eased past his markers inside the box and pulled the ball back from the line for Jaroensak to finish from close range.
Suphanat then added his own name to the score sheet in the 19th minute when the 17-year-old forward poked a lob from Ratthanakorn Maikami past Singapore goalkeeper Zharfan Rohaizad.
The third goal came in the 36th minute when Peerawat Akkraum converted a nifty pass from Kritsada Kaman.
Thailand coach Akira Nishino praised his men for executing the game plan well.
"This was our third match and the players have adapted themselves to conditions here well," added Nishino.
"We showed the thirst to win and we got a quick goal. After that we totally dominated the game in the first 30 minutes and it was enough for us to seal three points from the match.
"It is worrying that Supachok Sarachart has picked up an injury. I don't know the details yet but from I have gathered from the player, it isn't serious."