Starting fifth on the grid, Mir moved up to second inside the opening three laps in Valencia before overhauling Rins with 11 laps remaining.
Pole-sitter Pol Espargaro took the final podium spot while Petronas Yamaha's Fabio Quartararo had to settle for 14th after going down on the opening lap.
MotoGP star Jason Dupasquier dies after crash
Mir became the ninth different winner of the 2020 premier class season and is now 37 points clear of Rins and Quartararo in the standings. (Reporting by Hardik Vyas in Bengaluru, editing by Ed Osmond)
Quartararo sets lap record to take pole at Italian GP
IWD special – 'Any sport should be equal' – FHO Racing boss on proving women belong in motorsport