Muangthong had seen Buriram United move top on Saturday with a 4-2 win over Osotspa Saraburi and were eager to overtake their treble-winning opponents.
But things weren't smooth-sailing for Slavisa Jokanovic's men as they trailed their less-illustrious opponents 2-1 at the break, with a Michael Byrne brace cancelling out Mario Gjurovski's 33rd-minute strike.
However, Muangthong took control of the game by scoring three goals in a 19-minute second-half spree and looked certain to move back on top. Ekkapoom Potharungroj drew the hosts level on the hour mark, before further strikes from Teerasil Dangda and captain Nattaporn Pharnrit gave them a commanding lead.
Nonetheless, Chainat came back strongly and pulled one back through skipper Narongchai Vachiraban in the 80th minute, before South Korean defender Lee Dong-won rescued an unlikely draw when he made it 4-4 in injury time.
Muangthong remain second ahead of Pattaya United on goal difference, after the Dolphins held Bangkok Glass to a 1-1 draw at the Leo Stadium.
French midfielder Flavien Michelini had put the Glass Rabbits ahead just before halftime, only for Kim Do-yeon to steal a share of the spoils for Pattaya at the death in a heated game which saw both Teerathep Winothai and Keisuke Ogawa get sent off.
Wuachon United moved out of the relegation zone with a 2-1 win over Esan United, who themselves remain third from bottom.
Esan took the lead nine minutes after the break when Somporn Tanyacharoen converted from the spot, but Kirati Keawsombat equalised for Wuachon four minutes later, before Weerayut Jitkuntod grabbed all three points for the visitors in the 80th minute.
BEC Tero Sasana picked up their second win of the season and moved up to 6th in the process after beating Chiangrai United 3-2 in an entertaining clash.
The Fire Dragons took a 2-0 lead after 17 minutes courtesy of a Cleiton Silva double but Chiangrai pegged them back through Uilian Souza da Silva in the 20th minute.
Wasan Natasan then levelled matters for the visitors but BEC Tero were not to be denied, and went on to claim the victory in injury-time thanks to Spanish defender Jose Franco, after Panuwat Yimsa-ngar and Adrian Caceres had both received their marching orders.
In Sunday's final game, Samut Songkhram played out a 0-0 draw with TTM Chiangmai.
Sunday's Thai Premier League Results
Chainat 4-4 Muangthong United
Bangkok Glass 1-1 Pattaya United
BEC Tero Sasana 3-2 Chiangrai United
Esan United 1-2 Wuachon United
Samut Songkhram 0-0 TTM Chiangmai
Saturday's Thai Premier League Results
Buriram United 4-2 Osotspa Saraburi
TOT 1-1 Chonburi
Thai Port 0-1 Police United
Army United 1-1 BBCU