Rea started from pole but, was put under pressure early on from Toprak Razgatlioglu as he passed the reigning champion on Turn 1 before running wide and allowing Rea back in on Turn 2.
The Northern Irishman extended his lead time in every lap before sealing victory, his 19th podium - and 11th victory - at Portimao.
Chaz Davies and Eugene Lavery collided on Lap 2 as both riders fell down, but they continued before the former retired a few laps later.
Razgatlioglu finished the race in second with Loris Baz taking third, which is the first time he has been on the WorldSBK podium since 2014.
The win means Rea cuts Scott Redding's lead at the top of the championship to one point.
THE TOP SIX
1.) Jonathan Rea (Kawasaki Racing Team WorldSBK)
2.) Toprak Razgatlioglu (PATA YAMAHA WorldSBK Official Team) +2.946
3.) Loris Baz (Ten Kate Racing Yamaha) +4.748
4.) Alex Lowes (Kawasaki Racing Team WorldSBK) +.6.605
5.) Scott Redding (ARUBA.IT Racing – Ducati) +6.605
6.) Tom Sykes (BMW Motorrad WorldSBK Team) +7.723
1.) Scott Redding 112
2.) Jonathan Rea 111
3.) Toprak Razgatlioglu 95
4.) Alex Lowes 91
5.) Michael van der Mark 66
6.) Chaz Davies 62