Barcelona, Atletico Madrid and Real Madrid all won again at the weekend, with the Catalans maintaining their 12-point lead at the top of La Liga and the two capital clubs vying for the runners-up spot. A more intriguing drama is the unfolding battle for the fourth Champions League place with no less than five sides in contention.

Barcelona failed to keep a clean sheet for the 11th consecutive game against Sevilla at Camp Nou.  Lionel Messi’s winner meant the Argentine has now scored against every La Liga opponent this season, with the exception of Celta Vigo, who the Blaugrana face at the end of March. For the second week running, Barca were forced to come from behind to secure the three points following Alberto Botia’s goal for Sevilla just before half-time. David Villa equalised after the break before Messi’s decider.

Atletico were indebted to a 37th minute penalty from Radamel Falcao – the Colombian’s 21st goal of the season – as they laboured to a 1-0 win over Espanyol at the Vicente Calderon.  The home side’s task was made harder when Gabi Fernandez was shown the yellow card twice in the last 15 minutes of the first half.

At the Riazor, Riki’s ninth goal of the season gave basement side Deportivo a half-time lead over Real Madrid. Depor, whose grasp on a Primera Liga place next season looks more tenuous with every passing game, put up a spirited display but were undone by Kaka’s equaliser and Gonzalo Higuain’s late winner. Los Blancos’ Angel Di Maria received two yellow cards in second half injury time.

Fourth-placed Malaga crashed 3-0 at Real Betis, with Jorge Molina , Mario  and Dorlan Pabon doing the damage for Pepe Mel’s men. Malaga had Ignacio Camacho dismissed early in the second half after receiving two yellow cards and are now just a point ahead of fifth-placed Valencia, for whom Jonas rescued a 2-0 deficit at Zaragoza.  An Apono penalty and a Helder Postiga strike gave the home side the lead, but Jonas’ double restored parity for Los Che. Zaragoza were left hanging on when their goalkeeper Leonardo Franco was shown a straight red card 15 minutes from time for handling outside the area.

Over-achieving Rayo Vallecano slipped up at home, going down 2-1 against Real Valladolid. Rayo defender Jordi Amat had an eventful second half, scoring an own goal to give Valladolid the lead before equalising a minute later. Manucho’s winner leaves Valladolid firmly in mid-table.

Real Sociedad came out on top in the Basque derby at San Mames to reinforce sixth-place – a point behind Valencia and two adrift of Malaga – and plunge Athletic Bilbao further towards the relegation mix. Ibai Gomez struck first for San Sebastian before goals from Antoine Griezmann, Imanol Agirretxe and Carlos Vela gave the men from San Sebastian a 3-1 win.

Celta Vigo’s 2-1 victory over Granada means they remain in the bottom three but with a lifeline, just two points behind Zaragoza. Iago Aspas and Mario Bermejo were on target for Celta while Odion Ighalo scored Granada’s goal.

Osasuna leap-frogged above Zaragoza, Athletic Bilbao and Granada with a surprise win at fading Levante. The game at the Ciutat de Valencia looked to be heading for a scoreless draw until the Iranian Masoud Soleimani gave the Pamplona outfit the lead with two minutes of normal time remaining. Kike Sola sealed the win in added time as Osasuna registered only their second away win of the season.

Giovani’s first half strike looked to have set Mallorca on the way to three much-needed points at home to Getafe, but a Diego Castro penalty levelled matters for the Madrid outfit before two late goals from Adrian Colunga deprived Gregorio Manzano’s men of a point. Mallorca are now only two points ahead of Deportivo and seven points from safety.