Thai rider Chantra scored only his second career win, and his first of 2023, in a dominant display from pole position, as he led every lap to lead a one-two for Honda Team Asia ahead of Ai Ogura.
Pedro Acosta meanwhile took a major step towards the title as he finished in third on a weekend to forget for chief title rival Tony Arbolino.
As Chantra checked out at the head of the field, pulling a two-second gap on the rest within four laps, Ogura had to battle his way back after a poor start from second grid left him fourth on the opening lap.
Jake Dixon slotted into second at the start but was passed by both Alonso Lopez and Ogura on the second lap of 19, and Ogura managed to grab second off Lopez - who dropped down the order with a double long-lap penalty held over from the Indian round - on lap three.
Once in clear air, Ogura was able to match Chantra's pace and started to close the gap in the latter half of the stage, bringing down the 2.3s cushion held by his team-mate to as little as 1.2s.
But Chantra was not to be denied and took the chequered flag by 1.353s at the finish.
Ajo KTM man Acosta dropped from fourth on the grid to seventh on the first lap, but was back in his grid position by lap five and then took third when Lopez served the first of his penalties, staying there for the rest of the race.
Aspar's Dixon likewise rode a lonely race to fourth ahead of Filip Salac (Gresini) and Manuel Gonzalez (VR46 Master Camp).
Marc VDS rider Arbolino had to fight hard for his 11th-place finish, his second-worst result of the season, and now trails Acosta by 50 points with six rounds to go.
His team-mate Sam Lowes fared even worse however as he crashed out at the final corner on lap six.
Lopez (Speed Up) went from third to 10th after serving both of his penalties and finally wound up 13th.
In the earlier Moto3 race, Masia overhauled Daniel Holgado to take the lead of the championship with his third win of the season.
Source: Autosport