Porte and Team Sky team-mate Geraint Thomas combined in the final kilometre to distance any challenges and finish one-two.
Michal Kwiatkowski (Etixx-QuickStep) finished third on the stage to take the overall lead ahead of Porte by a single second and Thomas by three.
"I'm a little bit surprised to take back the jersey," said Kwiatkowski. "I had good legs today and the team did a great work to take me to the final climb. But when Richie Porte attacked with Geraint Thomas I juts couldn't react.
"My condition is good and Saturday is a very hard stage. Given my condition, I might have chances to try and attack team Sky before the last stage. We never give up."
The nearest challenger to the leading trio is BMC's Tejay van Garderen who is 27 seconds in arrears.
SBS will broadcast every stage of Paris-Nice live!
The peloton started the stage with eight climbs on the menu with the finish on the Croix de Chaubouret set to determine the overall placings.
Chris Anker Sorensen (Tinkoff-Saxo), Thomas De Gendt (Lotto-Soudal) and Antoine Duchesne (Europcar) made the break of the day and soaked up the king of the mountain and sprint classification points through to the 54km to go mark.
Duchesne was dropped on the Cote de la Gimond as the time gap from the remaining two leaders to the peloton fell to less than three minutes.
With the base of the Croix de Chaubouret approaching the peloton was full gas with several teams contributing to the high pace, including that of overnight race leader Michael Matthews (Orica-GreenEDGE), who was only dropped inside the final five kilometres after a dogged ride.
The exploits of the break came to an end after 190km, but it was mission accomplished for De Gendt who would pull on the mountains classification jersey at the post race celebrations.
The final 10km began as a climb of attrition with the peloton losing riders like Warren Barguil (Giant-Alpecin), Rafal Majka (Tinkoff-Saxo) and Andrew Talansky (Cannondale-Garmin).
Team Sky then did the damage to the peloton with each of its riders, including Lars-Petter Nordhaug and Nicholas Roche, taking their turn at keeping the pace high in order to separate the pretenders from contenders.
With 2.6km to go Sky played the first of its two cards, sending Thomas ahead. The move forced the race into overdrive with Porte, Kwiatkowski and van Garderen the only riders to react decisively.
But the Sky one-two punch of Porte and Thomas knocked out any serious challenge in the final kilometre and the pair combined to ride together to the finish.
(Michal Kwiatkowski of Etixx-QuickStep wears yellow at Paris-Nice - Getty)
Stage 4: 204km, Varennes-sur-Allier - Col de la Croix de Chaubouret
1 Richie Porte (AUS) Sky 5hr 18min 39sec
2 Geraint Thomas (GBR) Sky
3 Michal Kwiatkowski (POL) Etixx-QuickStep 0:00:08
4 Jakob Fuglsang (DEN) Astana
5 Tejay Van Garderen (USA) BMC 0:00:17
6 Rui Costa (POR) Lampre-Merida 0:00:24
7 Tony Gallopin (FRA) Lotto Soudal
8 Fabio Aru (ITA) Astana
9 Rafael Valls (ESP) Lampre-Merida
10 Simon Spilak (SLO) Katusha
1 Michal Kwiatkowski (POL) Etixx-QuickStep 19hr 44min 11sec
2 Richie Porte (AUS) Sky 0:00:01
3 Geraint Thomas (GBR) Sky 0:00:03
4 Tejay Van Garderen (USA) BMC 0:00:27
5 Jakob Fuglsang (DEN) Astana 0:00:32
6 Tony Gallopin (FRA) Lotto-Soudal 0:00:38
7 Rui Costa (POR) Lampre-Merida 0:00:41
8 Gorka Izagirre (ESP) Movistar 0:00:44
9 Tiago Machado (POR) Katusha 0:00:50
10 Rafael Valls (ESP) Lampre-Merida 0:00:51