Messi double helps keep the pressure on Real
Lionel Messi scored twice as Barcelona saw off Real Sociedad 3-2 at the Nou Camp to keep up the pressure on La Liga leaders Real Madrid ahead of next Sunday's El Clasico.
Madrid earlier beat Sporting Gijon 3-2 thanks to a late goal from Isco. Duje Cop volleyed the hosts into the lead on 14 minutes, only for Real to hit back quickly through Isco.
Mikel Vesga's header put Sporting back in front at the start of the second half. Zinedine Zidane's men, though, were level again just before the hour when Alvaro Morata headed in. Just when it looked like Sporting would hold on for a point, Isco drilled a shot into the bottom corner.
Meanwhile, Tony Adams suffered a 3-0 defeat to a weakened Celta Vigo side in his first match as manager of Granada - fielding a line-up of 11 different nationalities, none of them Spanish.
Atletico Madrid kept themselves ahead in the battle with Sevilla for third place after a 3-0 win over bottom club Osasuna, but missed two late penalties. Yannick Carrasco scored twice before Filipe Luis added a third.
Juventus extended their lead at the top of Serie A with a 2-0 victory at Pescara to strengthen their grip on a sixth successive title.
Bayern Munich saw their Bundesliga lead reduced to eight points after being held to a goalless draw by 10-man Bayer Leverkusen.
Crowd trouble forced an early end to the Ligue 1 clash between Bastia and Lyon following ugly scenes.
Videos online appeared to show the home fans entering the pitch to 'attack' visiting players before the game, and further trouble at half-time forced the game to be abandoned at 0-0.