Earlier, Barca also weren't at their best but Luis Suarez's double ended a five-game goal drought for the Uruguayan and Paulinho's late strike helped see off a determined Leganes 3-0.
Both Madrid sides suffered a familiar lack of cutting edge in front of goal this season, but it was Atletico who passed up the best chance when Angel Correa fired wide after just three minutes.
"We lacked a goal, but apart from that I feel for the players because they deserved more," said Madrid coach Zinedine Zidane.
After a bright start from Atletico, Real's first chance came on the counter-attack but Juanfran outpaced Cristiano Ronaldo when the Portuguese was put clean through by Luka Modric much to the home crowd's delight.
More From This Section
"In the first 25 minutes you saw the team we are against the best team in the world, who had the need to win after Barca's win," said Atletico boss Diego Simeone.
"We are finding it hard to score goals. If we score with Correa it would have changed the game completely."
Jan Oblak turned Toni Kroos's effort behind at the near post after a neat one-two with Ronaldo, before Sergio Ramos was left bloodied and eventually replaced at half-time with a broken nose as he was caught by Lucas Hernandez as he stooped to head into the side-netting.
Ronaldo's profligacy has been blamed for Real's slump in form this season and the Portuguese was once again wayward with his side's best chance as his tame effort from Modric's pass dribbled wide.
"As long as someone is in my family, I am with them to the death," added an irritated Simeone at the Frenchman's treatment.
However, his replacement Kevin Gameiro nearly grabbed the winner when his lobbed effort was cleared off the line by Raphael Varane.
And at the other end, Ronaldo took just too long to wind up his effort as Hernandez galloped back into position to make a brave block in a frantic finale and ensure Atletico a share of the spoils.
- Barca flattered -
===================
"The important thing was to win," Suarez told BeIN Sports Spain.
"We always try to play our best in every game but sometimes it is not possible."
Leganes' good work in the opening half hour was undone by a goalkeeping error when Ivan Cuellar limply palmed Paco Alcacer's driven cross into the path of the grateful Suarez to smash home his first goal for a month.
"I wasn't anxious. The important thing was to feel good again and help the team," added Suarez.
The busy Ambrabat was the creator for Leganes' best chance before the break when he released Alexander Szymanowski inside the area, but the Argentine's curling effort was turned to safety by the in-form Ter Stegen.
The German goalkeeper was called into action again early in the second period when Leganes substitute Claudio Beauvue was too quick for the Barca defence only to fire straight at Ter Stegen.
In contrast, just as in the first half, Barca were ruthlessly efficient in front of goal to double their lead on the hour mark.
"Perhaps 0-3 is a bit excessive. They played well enough for the gap between the teams to not be so great," said Barca boss Valverde.
However, Barca rubbed salt into Leganes' wounds when Paulinho rolled into an empty net when a loose ball broke off Messi in stoppage time.