Benfica, still yet to lose in Liga Portugal this season, started the night seven points behind leaders Porto at the start of the game and were behind early as Danish midfielder Victor Froholdt slotted home a rebound after his original shot was saved by goalkeeper Anatoliy Trubin to silence Estadio da Luz.
The home side soon found their stride, hitting the post from a deflected shot as Andreas Schelderup narrowly missed with a free-kick.
It would be Porto who would score next. Polish teenager Oskar Pietuszewski received the ball on the break, before sitting Nicolas Otamendi down and rifling a shot into the top corner in the 40th minute.
Jose Mourinho would have called for a reaction in the second half with their unbeaten record at stake, and he got it.
After two changes, Dodi Lukebakio, on off the bench, hit the woodwork midway through the second half, and the rebound fell kindly to the onrushing Schjelderup, who made no mistake with the finish.

Trubin kept Porto at bay with a couple of saves, and it would keep his side in it as they levelled two minutes from time.
Franjo Ivanovic's wicked delivery into the box found the foot of Barriero, who managed to get enough on it to put it in the net.
Tempers flared as the tackles flew in with the game on the edge, and it was too much for the benched Otamendi as well as Mourinho, both sent off by the referee in the closing stages.
The game would end 2-2, with the seven-point gap still intact from first to third. Sporting, who also drew this weekend, are sandwiched in the middle on 62 points.

