Vinales, who started on pole was left disappointed with fourth but it was a valiant effort nonetheless, with Fabio Quartararo coming home just behind the Spaniard to complete the top five and take another good haul of points after a mature ride on the limit.
Crutchlow produced a solid showing to finish P6 for the third time in four races, the British rider just edging out Aleix Espargaro.
It was Marquez who got the holeshot from pole, Plan A executed to perfection as a lightning start saw the number 93 beat Quartararo (Petronas Yamaha SRT) into Turn 1, with Miller getting a good launch from P4 on the grid to take P3.
Vinales slipped to P4 with Quartararo giving chase to Marquez on the opening lap, but by the time they crossed the line, the reigning FIM MotoGP World Championship winner was a second down the road.
And as Marquez crossed the line for his fourth straight win at MotorLand on his 200th Grand Prix start to extend his lead to 98 points, Dovizioso's recovery from P10 was completed in an ever-intelligent ride to second.
The Ducati rider had second wrapped up and coming onto the back straight for the final time, there was nothing more Vinales could do.
Miller impressed to complete the podium and take top Independent Team rider honours. It was the Australian rider's third podium of the year.
Now it's time for the paddock to pack up and head to pastures very new for the flyaways - with Buriram in Thailand next on the agenda. With the points gap back down to almost nothing, it's sure to be another awesome showdown as Dalla Porta vs Canet reignites in two weeks.