Hector Herrera and Vincent Aboubakar both netted as Jose Peseiro's side came from behind to beat their fierce rivals at the Estadio de Luz
The hosts and two-time defending champions went ahead after 18 minutes at the Estadio de Luz through Greece forward Konstantinos Mitroglou, but Porto captain Hector Herrera hit back with a low drive from the edge of the penalty area 10 minutes later
Jose Peseiro's side completed the turnaround midway through the second half as Vincent Aboubakar powered into the Benfica area and finished clinically.
Veteran Porto goalkeeper Iker Casillas made a magnificent save at close quarters to stop Mitroglou netting an equaliser, meaning his side move to third in the league, within three points of Benfica.
Leaders Sporting CP will open up a three point advantage over the champions if they are victorious at Nacional on Saturday.