(CNN) -- Zlatan Ibrahimovic upstaged Lionel Messi as Barcelona edged past lowly Osasuna with a 2-0 victory to go top of Spain's La Liga.
All the recent focus has been on Argentina striker Messi who came into the match on the back of two successive league hat-tricks.
But Josep Guardiola's men were made to work hard by Osasuna and were thankful to their Swedish forward Ibrahimovic who broke the deadlock on 73 minutes.
Teenager Bojan Krkic added a late second to seal the game.
The result takes Barcelona three points clear of rivals Real Madrid at the top of the league but Real can regain first place if they beat Getafe on Thursday.
Elsewhere, Valencia moved clear in fourth after David Villa's goal was enough to see off Malaga. Mallorca failed to keep pace with Valencia after they drew 0-0 at Racing Santander.
A late goal from Guiseppe Rossi salvaged a point for Villarreal at Tenerife while Kalu Uche's goal handed Almeria a 1-0 win over Real Zaragoza.
Vallodolid and Espanyol each had a man sent off as they drew 0-0.
In Italy, league leaders Inter Milan moved four points clear at the top of the table after a 3-0 win over Livorno.
Cameroon striker Samuel Eto'o grabbed two goals while Maicon added the other.
AC Milan dropped down to third after they were beaten 1-0 at Parma. Valeri Bojinov got the only goal of the game before Milan's Andrea Pirlo was sent off.
AS Roma took advantage of Milan's slip by winning 2-0 at Bologna to go second. John Arne Riise and Julio Baptista got on the scoresheet.
Palermo drew 2-2 at Genoa and stay fourth, Sampdoria were beaten 2-1 at Bari while Giuseppe Mascara's strike was enough for Catania to beat Fiorentina.
Lazio grabbed a much-needed victory over Siena, Atalanta beat Cagliari 3-1 at home and Udinese and Chievo drew 0-0.