Boavista had three players sent off as they went down 4-0 at Maritimo in the Primeira Liga on Sunday.
Hosts Maritimo came into the game on the back of four straight defeats in the league, but they were given a huge helping hand by Boavista, who were forced to play the final 20 minutes with only eight players.
Dyego Sousa put Maritimo ahead inside 10 minutes and it was not until close to the hour-mark that things began to unravel for the visitors.
Brazilian defender Philipe was shown a second yellow card, Bruno Gallo doubling Maritimo's lead from the spot.
Six minutes later Boavista were reduced to nine men when Brayan Beckeles was also shown a second caution, and things went from bad to worse when goalkeeper Mika was given a straight red.
Moussa Maazou converted the resulting penalty, before Sousa rounded off the scoring in a farcical game with six minutes to go.
Elsewhere, Porto enjoyed a late goal spree in a 5-0 win over Rio Ave, while Benfica regained top spot with a 2-0 win at Academica.
Julen Lopetegui's Porto remain the only unbeaten side in the Portuguese top flight, as they ruthlessly finished off their visitors with four goals in the final 12 minutes.
After a goalless first half, Cristian Tello put the home side ahead two minutes into the second period, but they were made to wait to increase their advantage.
Jackson Martinez broke Rio Ave's resistance in the 78th minute and from that point on Porto were rampant.
Further goals from Alex Sandro, Oliver Torres and Danilo all arrived in the closing stages as Porto kept pace with the leading clubs.
Lopetegui's men are third, a point behind second-placed Vitoria Guimaraes, who had briefly gone top with a 2-1 victory over Moreirense on Friday.
But Benfica soon regained their two-point cushion at the summit as goals from Nicolas Gaitan and Luisao earned them victory at Academica, who saw substitute Marinho dismissed in stoppage time after picking up a second caution.
The other game on Sunday ended goalless as Gil Vicente - who remain winless - and Nacional played out a stalemate.