Porto forward Luis Diaz was given his marching orders by referee Artur Soares Dias for his second bookable offence shortly before halftime, and five minutes later his manager Sergio Conceincao was also sent off.
But former Newcastle United centre back Mbemba fired Porto ahead in the 47th minute with a looping header over two defenders after Benfica goalkeeper Odisseas Vlachodimos misjudged a free kick from the left by Alex Telles.
Benfica were again undone from a set piece in the 58th minute, as Otavio floated in a free kick and Mbemba powered it past Vlachodimos from eight metres after beating the offside trap.
How Lukaku became the complete centre-forward
Carlos Vinicius set up a tense finish when he converted an 84th-minute penalty for Benfica after Porto substitute Diogo Leite fouled Rafa Silva.
Benfica threw men forward in the closing stages and missed their best chance for an equaliser in stoppage time when Jota hit the post with a fine volley from the edge of the penalty area.
Porto, who overhauled Benfica in the home straight of their two-team league title race, defended desperately in the last few minutes but held on to put the icing on the cake of a memorable season. (Writing by Zoran Milosavljevic; Editing by Hugh Lawson)
‘Good enough to compete in Qatar’ – Why Portugal and Ronaldo could win 2022 World Cup
Pogba removes beer bottle during press conference