Porto suffered their first home league defeat since 2008 as Estoril claimed a 1-0 win at Estadio do Dragao on Sunday.
The hosts had been on a run of 81 games unbeaten on home soil, but were undone by a 78th-minute Evandro penalty.
Porto struggled to create any meaningful chances in the opening 45 minutes as the sides went in goalless at the break.
However, Eliaquim Mangala felled Evandro in the penalty area 12 minutes from time, and the Brazilian made no mistake in finding the back of the net.
Goalkeeper Vagner pushed away a free-kick in the closing stages to keep Estoril ahead, before the final whistle was greeted by heckles from the home support.
Defeat leaves Porto four points adrift of leaders Benfica, who have a game in hand.
At the other end of the table, Olhanense claimed a hugely important 2-1 victory at home to Gil Vicente.
The hosts had just one win from their previous 11 matches heading into this fixture and suffered an early setback when Christian Obodo was given his marching orders after a clash with Hugo Vieira.
But the visitors failed to make the most of their one-man advantage and were, themselves, reduced to 10-men on the hour mark.
Halisson felled Federico Dionisi in the penalty area, before the attacker converted from the spot.
Vieira pulled one back for Gil Vicente 13 minutes from time, before Paulo Sergio found the net with a dramatic winner in stoppage time.
Elsewhere, Belenenses remain rooted to the bottom of the table after 2-0 defeat at Maritimo in a match that saw both teams reduced to 10 men, while Vitoria Setubal triumphed 4-0 over Pacos de Ferreira.