Leo Messi struck twice, with further goals from Xavi and Cesc Fabregas as the Catalans recorded yet another trophy.
In Spain, they lost their lead of La Liga to Real Madrid, who beat Sevilla 6-2, with Cristiano Ronaldo on target three times in the victory.
Espanyol beat Sporting Gijon 2-1, Athletic Bilbao won 2-1 against Real Zaragoza and Valencia beat big spending Malaga 2-0. Atletico Madrid lost 2-0 at home to Real Betis, whilst Villarreal went down 2-1 at Osasuna.
Manchester City beat Arsenal 1-0 in the Premier League to return to the top of the table. A tight contest was edged by City after David Silva struck, but both sides wasted chances in a game which could have gone either way.
Manchester United had briefly gone top after a 2-0 win at QPR, whilst Aston Villa lost by the same score at home to Liverpool. Tottenham beat Sunderland 1-0 to keep up their title charge, whilst at the other end of the table Bolton are adrift after a 2-0 loss to Fulham. Blackburn lost 2-1 at home to West Brom.
In France, Paris St Germain missed the chance to go top after a 0-0 draw with champions Lille, who are in third. Montpellier are top after a 1-1 draw with Toulouse. Lyon won 2-1 against Evian, whilst St Etienne beat Dijon 2-1 and Marseille continued their revival with a 2-1 win over Lorient.
Juventus won 2-0 against Novara to stay top in Italy, whilst champions AC Milan are just behind following victory over Siena by the same score. In third, Udinese drew 2-2 at Lazio, whilst Inter Milan are in fifth, continuing their revival with a 1-0 win over Cesena. Napoli are in sixth with a 3-1 home defeat by Roma, in seventh.
Bayern Munich remain top of the Bundesliga after a 3-0 win over Cologne, whilst Dortmund, who won 4-1 at Freiburg, are second. Schalke are third after a 5-0 win over Werder Bremen, and Borussia Moenchengladbach beat Mainz 1-0. Bayer Leverkusen lost 3-0 to Nurnberg and Hannover drew 1-1 with Kaiserslautern.
Benfica remain top of the Portuguese league after thrashing Rio Ave 5-1, whilst Porto’s long unbeaten run is still intact after they beat Maritimo 2-0. Olympiakos won 2-0 against Giannina to stay four points clear in Greece, and Panathinaikos beat Asteras Tripoli 3-1 and remain second.
In Holland, champions Ajax beat Ado Den Haag 4-0 to get back into the title race, and are fourth, five points behind AZ Aalkmar, who lost 2-1 at NAC. Twente lost 3-2 at Feyenoord and PSV are still in second.