Pep Guardiola's side came into the match six points behind Madrid following the challengers' win against Granada on Saturday but were hoping to cut the gap back to three by beating their lowly neighbours.
They looked on course to do so as Cesc Fabregas gave them a 16th-minute lead but after failing to build on the opener, Barca - who also had efforts correctly ruled out for handball and offside - conceded the equaliser with less than five minutes to go as Alvaro Vazquez dived to head home. Gerard Pique hit the bar with a late effort and Espanyol survived a penalty appeal for handball as Barca were left frustrated.
Aritz Aduriz scored three minutes from time as Valencia recovered from two goals down to draw 2-2 against Villarreal at El Madrigal.
Jose Molina was taking charge of Villarreal for the first time and his side made an ideal start as Marco Ruben and Gonzalo had them 2-0 up inside 18 minutes.
But Sofiane Feghouli finished well at the end of an excellent team move to get one back before half-time and Villarreal were made to pay for passing up chances to kill the game off in the second half as Aduriz calmly curled the ball home from 18 yards.
Jose Antonio Reyes failed to inspire Sevilla to victory on his return to the club as Rayo Vallecano picked up three valuable points with a 2-1 home win.
Miguel Michu opened the scoring for the hosts before Raul Tamudo made it two six minutes into the second period, and although Julien Escude pulled one back for the visitors just after the hour, Rayo held on for their first win in five in La Liga.
Sevilla, meanwhile, have now lost three on the spin in the league and are losing ground on their rivals in the race to land a Champions League berth.
Getafe and Athletic Bilbao shared the points in an entertaining goalless draw at the Coliseum Alfonso Perez.
Most of the clear-cut chances came in the second period, as Markel Susaeta hit the bar for the visitors and Miku did likewise for Getafe.
But in the end it was the goalkeepers who came out on top as Gorka Iraizoz and Miguel Angel Moya both made crucial saves in the final 10 minutes to maintain the deadlock.
Real Betis made it three straight wins with victory at home to nine-man Sporting Gijon.
On-loan striker Roque Santa Cruz scored the opener midway through the first half and substitute Jorge Molina made the points safe in injury time.
Sporting played the entire second half a man light after Alberto Lora was sent off a minute before half-time after picking up two yellow cards in six minutes for two fouls on Jefferson Montero.
And they finished the game two men down after Carmelo was also shown a second yellow seconds from the final whistle.
Real Madrid extended their lead at the top of La Liga to six points with a comfortable win over Granada.
Karim Benzema's 19th-minute strike was levelled by Granada's Mikel Rico after 22 minutes.
However, Sergio Ramos ensured Jose Mourinho's side took the lead again after 34 minutes before Gonzalo Higuain and Benzema extended the home side's advantage within five minutes of the start of the second period.
Cristiano Ronaldo then netted his customary goal and Madrid's fifth two minutes from time as Madrid ran out as comfortable 5-1 victors.
Elsewhere, goals were in considerably shorter supply with just one scored in Saturday's other four games.
Manolo Jimenez made a losing start to his tenure as Real Zaragoza coach as Racing Santander inflicted a narrow defeat on the La Liga strugglers.
Jimenez took over a side rock bottom of the table after the departure from the hotseat of Javier Aguirre, four points behind 19th-placed Racing and five adrift of safety.
Yet it was Racing who gave themselves a shot in the arm at El Sardinero as Bernardo Espinosa's header in first-half injury-time proved enough to earn a welcome victory.
The games between Levante and Real Mallorca, Real Sociedad and Osasuna and Malaga and Atletico Madrid - for whom Diego Simeone was making his debut in the hotseat - all ended goalless.