Barca held after Sevilla thriller
Pep Guardiola's side had their usual swagger in the first half at the Sanchez Pizjuan and looked to be cruising when substitute Bojan Krkic, who replaced the injured Pedro, put them ahead in the 30th minute.
However, after Alvaro Negredo held off two defenders and crossed for Jesus Navas to nod in the equaliser four minutes after half-time the match burst into life, with end-to-end action and both sides coming desperately close to snatching a winner.
Barca midfielder Andres Iniesta crashed a shot off the crossbar with just under five minutes remaining and had an effort cleared off the line in added time after goalkeeper Victor Valdes had saved brilliantly from Sevilla winger Navas.
Joint La Liga top scorer Lionel Messi, who had a scare when he hurt his right knee in a clash with Sevilla keeper Javi Varas but was able to play on, also headed against the crossbar in the first half.
Guardiola said the introduction just after the break of Sevilla's Mali striker Frederic Kanoute, who sent Negredo clear in the build-up to the home side's goal and twice came close to scoring, had made the difference.
"They (Sevilla) are a very good team and have been playing at a high level for many years," the former Barca and Spain midfielder told a news conference.
"Kanoute gave them the continuity that they were missing," he added. "We got too little return for what we created in the first half."
He said he was "generally happy" with the result after his players' efforts in the Champions League on Tuesday, when they overturned a 2-1 first-leg deficit to eliminate English club Arsenal 4-3 on aggregate and reach the last eight.
Real continued their perfect home record on Saturday when Karim Benzema netted twice in a 2-0 home win over Hercules and with 10 matches remaining champions Barca have 75 points to Real's 70.
"We still have the upper hand," Barca midfielder Sergio Busquets said in a television interview.
"We controlled the match well apart from the first 15 minutes of the second half."
Villarreal missed a chance to trim the gap to third-placed Valencia to one point earlier on Sunday when they conceded a late penalty to gift nine-man Sporting Gijon a 1-1 draw.
Giuseppe Rossi had put Villarreal ahead in the 29th minute at the Madrigal when the United States-born Italy striker pounced on a keeping error to sweep a loose ball in off the post, his 15th of the campaign.
The club with the distinctive canary-yellow kit were closing in on victory following a run of only one win in seven games when Gijon defender Jose Angel Valdes earned a second yellow card with 25 minutes remaining and captain Rafael Sastre was shown a straight red for bringing down Rossi in the 90th.
However, David Barral went down in the penalty area in added time and Diego Castro converted the spot-kick with an audacious chip into the centre of the goal.
Villarreal have 51 points from 28 matches, three behind Valencia, who held on to Spain's third automatic Champions League qualification berth despite crashing to a 4-0 defeat at Real Zaragoza on Saturday.
It was a further blow to Unai Emery's side following their elimination from Europe's elite club competition by Schalke 04 on Wednesday.
In other matches on Sunday, European hopefuls Espanyol ended a run of six defeats in their last seven matches when they beat 10-man Deportivo La Coruna 2-0 to climb above Athletic Bilbao into fifth on 43 points.
Bilbao can reclaim fifth spot with a win at Getafe in the Monday game.
Malaga secured only their seventh win of the campaign when they won 2-0 at Real Sociedad but remain bottom of the standings, level on 26 points with Hercules and Almeria.