Go Eleven Ducati rider Rinaldi, who had never previously finished a WSBK race higher than fourth, seized the lead from poleman Rea at the start of the second lap of 18 before making good his escape at the head of the field.
Kawasaki rider Rea maintained the lead off the line ahead of the Ducatis of Redding and Rinaldi, but it wasn't long before Rinaldi dispatched his works counterpart Redding and began to attack Rea for the lead.
The Italian came close to making a move stick on Rea at the final corner, and after sticking to the inside of the five-time world champion Rinaldi was able to complete the move at Turn 1.
From there, Rinaldi proceeded to pull away by a second after the fifth lap, and by lap 10 his advantage was out to more than four seconds.
He finally crossed the line with 5.8s in hand to deliver Go Eleven's first win in the championship and the first for any satellite Ducati rider since 2012.
Second-placed Rea meanwhile came away with an enhanced 30-point lead at the head of the championship as his nearest rival Redding crashed out of third on lap 8.
Redding was coming under heavy pressure from the Honda of Alvaro Bautista in the fight for the final podium spot when he simply lost the front heading into Turn 4, recording his first DNF of the 2020 season and of his WSBK career.
Bautista was later passed by Redding's works Ducati teammate Chaz Davies for third before crashing himself at Turn 14.
That opened the door for Yamaha man Michael van der Mark to finish fourth ahead of teammate Toprak Razgatlioglu.
Sixth went to Alex Lowes, who ran wide at Turn 1 and dropped to as low as 10th before battling his way back past the Honda of Leon Haslam despite suffering with illness.
Behind Haslam, Eugene Laverty secured his best finish of the year so far on the lead BMW in eighth, ahead of the GRT Yamaha of Federico Caricasulo and the second BMW of Tom Sykes.
In his first-ever WSBK race, MotoE champion Matteo Ferrari took two points for a 14th place finish aboard the Motocorsa Ducati.
Joining Redding and Bautista on the list of retirees were Marco Melandri (Barni Ducati), Pedercini Kawasaki substitute Roman Ramos and Sylvain Barrier (Brixx Ducati).
|1||21|| Michael Ruben Rinaldi ||Ducati||18|
|2||1|| Jonathan Rea ||Kawasaki||18||5.888|
|3||7|| Chaz Davies ||Ducati||18||10.035|
|4||60|| Michael van der Mark ||Yamaha||18||15.965|
|5||54|| Toprak Razgatlioglu ||Yamaha||18||19.357|
|6||22|| Alex Lowes ||Kawasaki||18||24.138|
|7||91|| Leon Haslam ||Honda||18||24.275|
|8||50|| Eugene Laverty ||BMW||18||24.749|
|9||64|| Federico Caricasulo ||Yamaha||18||25.437|
|10||66|| Tom Sykes ||BMW||18||26.796|
|11||31|| Garrett Gerloff ||Yamaha||18||27.354|
|12||76|| Loris Baz ||Yamaha||18||28.096|
|13||12|| Xavi Fores ||Kawasaki||18||33.131|
|14||71|| Matteo Ferrari ||Ducati||18||44.847|
|15||13|| Takumi Takahashi ||Honda||18||59.529|
|16||77|| Maximilian Scheib ||Kawasaki||15||3 laps|
|19|| Alvaro Bautista ||Honda||14||4 laps|
|40|| Roman Ramos ||Kawasaki||14||4 laps|
|45|| Scott Redding ||Ducati||7||11 laps|
|33|| Marco Melandri ||Ducati||6||12 laps|
|20|| Sylvain Barrier ||Ducati||0|
|View full results|