The two fierce rivals, undefeated in the league, came into the match with little to separate them and the draw meant Benfica maintained their three-point lead at the top over champions Porto, who have a game in hand.
Porto surprised the hosts early on through France U21 captain Eliaquim Mangala, who was left unmarked in the area and headed in the opener after eight minutes.
Two minutes later Benfica's Serbian midfielder Nemanja Matic struck back with a superb volley but Porto's in-form Jackson Martinez made the most of a blunder by keeper Artur, who misjudged a back pass, and slotted in to put the champions ahead 2-1.
The 61,000 roaring fans packed into the Luz stadium for the Clasico were on their feet again as Benfica's Argentine winger Nicolas Gaitan fired in the leveller after collecting a loose ball in the box.
In a much calmer second half, the Lisbon club should have grabbed the winner but keeper Helton denied Cardozo with a flying save with 10 minutes left on the clock.