Primeira Liga Review: Porto held at Guimaraes, Boavista claim first win
Julen Lopetegui's men looked to be on their way to a sixth straight victory when Jackson Martinez scored from the penalty spot in the 61st minute after on-loan Benfica defender Bruno Gaspar fouled Yacine Brahimi.
But Martinez turned villain just eight minutes later, the Colombia forward fouling Andre Andre in the area to allow Bernard Mensah to convert from 12 yards.
Porto are one of four teams on 10 points, with Rio Ave top of the table thanks to their +10 goal difference.
At the other end of the table, Boavista claimed their first win since returning to the top flight after a six-year absence, Richard Ofori's own goal giving Porto's city rivals a 1-0 triumph against Academica.
Penafiel were beaten 2-0 by Maritimo to remain rock bottom without a point to their name, goals from Fransergio and Theo Weeks condemning them to a fourth straight loss.
Gil Vicente held on to earn their first point of the campaign with a 1-1 draw at Pacos de Ferreira despite finishing the game with nine men.
Defenders Manasse Enza-Yamissi and Pecks were each shown second yellow cards for the visitors after the latter had cancelled out Ricardo's opener, but Jose Mota's men stood firm.
Elsewhere, a double from defender Bruno Miguel was enough for Estoril to overcome Nacional 2-1.