Porto, who had goalkeeper Fabiano sent off, won a seventh straight Primeira Liga contest, while Sporting Lisbon consolidated third spot.
Ten-man Porto pulled off a brave 1-0 win at home against Arouca to cut their deficit to Primeira Liga leaders Benfica back to four points.
Julen Lopetegui's men lost goalkeeper Fabiano to a straight red card in the 12th minute, after the Brazilian brought down an opposition player outside his own area.
However, the relegation-threatened outfit could not capitalise on their numerical advantage at the Estadio Do Dragao, as Porto's Vincent Aboubakar scored the game's only goal in the 32nd minute.
Porto's win was their seventh in succession in the Portuguese top flight and seventh clean sheet in a row in the league. Arouca's defeat leaves them one point above the bottom two.
Sporting Lisbon consolidated third spot with their third win in four, edging Maritimo 1-0 on the road.
Adrien Silva's first-half penalty was the difference, as Sporting moved to 53 points - eight behind second-placed Porto, but seven clear of slumping Sporting Braga.
The bottom two of Gil Vicente and Penafiel both lost at home on Sunday.
Moreirense won 1-0 at Gil Vicente, while Rio Ave struck twice in the final five minutes for a 2-0 success at Penafiel.
Academica are unbeaten in seven league outings, including winning three of their past four, as they held off Nacional 2-1.