Lionel Messi's second-half goal put his side ahead for the second time but Gareth Bale rescued a point in the 72nd minute with a delightful strike.
There were four goals, eight yellow and one red card in what was a thrilling El Clasico.
It was not the victory which Andrés Iniesta will have hoped for in his final El Clasico but it did not fail to entertain.
Suarez opens the scoring
It took less than 10 minutes for the hosts to open the scoring with Luis Suárez finishing off a superb team move.
Sergi Roberto's cross found Suarez arriving at the back post and the Uruguayan volleyed the ball beyond a helpless Keylor Navas.
Messi acted as a distraction in the middle of the box with Suárez arriving unmarked before expertly finishing off the move.
Ronaldo quickly draws level
Just five minutes after Suarez's opening goal Cristiano Ronaldo put the visitors level.
Toni Kroos's floated cross was met by Karim Benzema but his header was turned in by Ronaldo.
Ronaldo managed to poke the ball home despite a hefty collision with Gerard Piqué.
However, the celebrations were muted as Ronaldo hobbled away from the goal mouth scramble leading to the equaliser.
The goal marked Ronaldo's 25th La Liga goal of the season.
Messi regains the advantage
Lionel Messi put Barcelona ahead shortly after the second-half resumed with a strike from the edge of the box.
Messi danced between Sergio Ramos and Raphaël Varane on the edge of the 18-yard-line before firing the ball beyond Navas.
However, leading to the goal Zinedine Zidane may question whether Suárez fouled Varane before setting up the Argentine for the goal.
Although the home side were down to 10 men the home side continued to pour forward in an attempt to keep their unbeaten La Liga record.
Bale steps up
Bale levelled the score at 2-2 in the 72nd minute after a sumptuous finish from outside of the box.
The Welsh international's curled effort flew past Marc-André ter Stegen who had not had much to deal with in the second half till that point.
Bale had been rather quiet until the goal and some people may feel he was lucky to still be on the pitch after a rash challenge on Umtitti.
With Ronaldo being replaced at half-time due to injury it was up to Bale to prove the difference.
Barça remain unbeaten
Barcelona will have hoped to see out the reminder their La Liga season with an El Clasico win.
However, under the circumstances of going a man down in the first half Ernesto Valverde's men will have accepted a draw.
After levelling the proceedings, Ronaldo squandered two golden chances on goal.
Luka Modric slipped Madrid's main man through on goal but ter Stegen rushed out of his goal to block the shot.
Moments later, Ronaldo struck from the edge of the box but his left-footed effort whistled inches wide of the post.
The game suddenly came to life in the last five minutes of the first half when the tackles began to fly in.
Three yellow cards came in the final two minutes of the half and then Roberto was shown a straight red card with seconds left.
It seemed the full-back raised his hands on Marcelo who immediately fell to the floor.
After the break, Barça quickly regained their one-goal lead through their Argentine magician.
Just before the hour-mark Iniesta made way for Paulinho in what would be his final El Clasico.
Having played in 38 El Clasico matches in all competitions the 33-year-old left the field ahead of his summer departure from the champions.
Messi almost doubled his tally for the night as he bared down on goal but squandered his opportunity as Navas palmed it away comfortably for a corner.
Despite Bale's late goal, Madrid remain 15 points behind the champions but avoided defeat in the derby.