Following a goalless first-half, the Sharks opened the scoring in the 58th minute when star striker Pipob On-mo found the back of the net, before further goals from Sukree Etae and Fode Bangaly Diakite wrapped up all three points Withaya Laohakul's side.
Muangthong will consider themselves lucky to still be five points clear at the top of the table after riding their luck against Samut Songkhram at the SCG Stadium, before grabbing the victory in the 57th minute through Ekkapoom Potharungroj.
The game did turn sour four minutes later when both Muangthong defender Ri Kwang-chon and Songkhram striker Christian Nade received their marching orders after getting into an altercation.
Champions Buriram United continued their unimpressive run with a 2-2 draw against Esan United and are now twelve points behind the league leaders.
Kim Tae-young opened the scoring for Esan in the 16th minute, only to see influential Thunder Castle midfielder Suchao Nuchnum equalise on the stroke of halftime for his second goal in two games.
Esan then went ahead again through Yai Nilwong five minutes after the hour mark but Sarif Sainui spared his side an embarassing defeat when he forced a draw six minutes later.
Bangkok Glass' title hopes are now hanging by a thread after they were held to a 0-0 draw at Army United, while Chainarong Tatong scored a 90th-minute winner to hand struggling BBCU a much-needed win over TOT.
Osotspa Saraburi came from a goal down to beat Chainat 2-1 and edge closer to the top half of the table, while bottom side TTM Chiangmai were left to rue their inability to hold on to their lead in a 2-2 draw at Pattaya United.
Kim Do-yeon had fired Pattaya ahead in the 26th minute but Laksana Kamreun drew the visitors level seven minute before the break, before they went ahead ten minutes from time when Supphakorn Ramkulabsuk found the back of the net.
However, Dolphins defender Sompob Nilwong bombed forward to score in the 88th minute to force a draw and leave Chiangmai still looking for only their third win of the season.
Elsewhere, Wuachon United and Thai Port played out a 0-0 draw, while Chiangrai United midfielder Panupong Aramviroj cancelled out Pokkhao Anan's 40th-minute opener for Police United five minutes after the hour mark in a 1-1 draw between the sides.
Wednesday's Thai Premier League Results
BBCU 3-2 TOT
Osotspa Saraburi 2-1 Chainat
Army United 0-0 Bangkok Glass
Buriram United 2-2 Esan United
Chonburi 3-2 BEC Tero Sasana
Pattaya United 2-2 TTM Chiangmai
Police United 1-1 Chiangrai United
Wuachon United 0-0 Thai Port
Muangthong United 1-0 Samut Songkhram