The stalemate is the first time a game between the two sides has ended goalless since 2002, a run of 49 games in all competitions between the two great rivals.
The visitors dominated the opening stages, with Karim Benzema bringing a save from Marc Ter Stegen and Gerard Pique clearing Casemiro’s header off the line in a frantic opening.
Barcelona improved as the half wore on, with Sergio Ramos clearing a scuffed shot from Messi off the line, and Jordi Alba wasting a great chance went put through by the Barca skipper.
Zinedine Zidane’s side looked to take the initiative after the break, with Pique and Clement Lenglet both called into action to deny Benzema and Isco.
The hosts best chance of the night fell to Messi just after the hour mark, as Antoine Griezmann found him in space inside the box, but the Argentinian suffered a rare slip in concentration as he skewed wide.
Los Blancos looked to more threatening in the closing stages, with Bale having a goal ruled out on 82 minutes, after a fractional VAR offside decision against Ferland Mendy in the build up.
What does it mean? La Liga leaders deadlocked in title battle
Barca and Madrid are now on 36 points each at the top of the table, five clear of third-place Sevilla, with just one game left in 2019.
There was little to split them in a cagey encounter – the first goalless Clasico since 2002 – and the title race certainly looks likely to remain a tense one in the new year.
In the final round of league games before the mid-season break, Barca host Deportivo Alaves on Saturday and Madrid welcome Athletic Bilbao on Sunday.