The Primera Division leaders ended their city rivals' perfect home record in the league this season as they secured top spot ahead of the winter break.

Pedro and Xavi gave Pep Guardiola's side a healthy lead at half-time, before the winger struck again in the second half.

Dani Osvaldo got one back for Espanyol after that, but Barca always looked in control and Villa added two more late on for the visitors.

Goals from star trio Santi Cazorla, Giuseppe Rossi and Nilmar saw Villarreal get their league campaign back on track following last week's disappointing defeat to Getafe as they beat Mallorca 3-1, Jonathan De Guzman got the only goal for the visitors.

Diego Castro Gimenez eased the pressure on Sporting Gijon coach Manuel Preciado with a late equaliser in a 1-1 draw Deportivo La Coruna.

Depor defender Aythami Oliva looked to have added to Preciado's woes with an early goal until Gimenez earned his side a precious point.

Igor Gabilondo inspired Athletic Bilbao to a 2-1 win over Levante at the Ciutat de Valencia.

Gabilondo set the visitors on their way with a ninth-minute free-kick into the top right corner.

And Gabilondo then laid on a winner for Javi Martinez after Felipe Caicedo had grabbed a Levante equaliser.