Ronaldo equalized for Real Madrid in the 14th minute after Luis Suarez had given Barca the lead in the 10th minute while in the second half Messi gave Barca the lead again with an individual effort in the 52nd minute.
But third-placed Real Madrid took only four minutes to come up with the equaliser through a strike from Cristiano Ronaldo, who marked his 450th goal for the record European champions.
Ronaldo has carried the form over into the Champions League too, scoring 15 goals in 12 games - more than any other player in the competition this season.
"But knowing what he is like, his style and how he is, I didn't think it was necessary to do so". "We watched an incredible game of football and I can't say if the draw is fair or not", said Real coach Zinedine Zidane, who would not be drawn on the referee's performance.
Trump v Mueller: to speak or not to speak
Indeed, his lawyers have already floated the idea that the Mueller interview is an attempt to catch the president out. Despite clear precedent, Trump may very well refuse to sit down with Mueller and then challenge a subpoena in court.
Madrid struggled to break through with talisman Ronaldo being substituted by Marco Asensio following an injury. Real should have had a late penalty when Alba cleared out Marcelo but referee Alejandro Jose Hernandez Hernandez somehow decided the challenge was clean. Ronaldo's injury, however, coupled with Barcelona avoiding defeat, despite playing a man down for the whole of the second half, meant the Catalans departed the happier side.
"I'd have liked to have won", added Zidane.
He told Movistar Partidazo following a 2-2 draw at Camp Nou: "We will look tomorrow [Monday] and see what damage has been done".
'We always respect Barcelona but in that play I thought kicking the ball out was not necessary'. "We wanted to win it, Sergi's sending off damaged us, especially against a team like Real Madrid".
Gareth Bale's goal denied 10-man Barca victory, but they are now just three games away from going the entire season unbeaten.