Barcelona were inspired by Ronaldinho as they returned to the top of La Liga, while Ruud van Nistelrooy scored four goals as rivals Real Madrid also won.
Barca came from 1-0 down to beat Real Zaragoza 3-1 but forward Lionel Messi limped off and faces up to three months out with a broken bone in his foot.
The win moved the Nou Camp outfit a point ahead of second-placed Sevilla, with Real Madrid three behind Barca.
Real beat Osasuna 4-1, with David Beckham coming on in the 83rd minute.
But the game was already realistically over at 3-1 when Beckham was introduced as a substitute, with former Manchester United striker Van Nistelrooy showing his lethal streak in front of goal.
The Dutchman opened the scoring after 12 minutes when he slotted in a rebound after Robinho's shot had been blocked.
His second goal came after an attempted clearance hit Robinho and fell into his path and he completed a first-half hat-trick with a precise 18-yard, left-foot strike.
Valdo Lopes pulled one back for Osasuna but Van Nistelrooy took his La Liga tally to eight for the season when he was set up by Emerson late on.
Van Nistelrooy's exploits upstaged Ronaldinho, even though the Brazilian grabbed a brace for Barca after Real Zaragoza had taken a shock lead.
Ronaldinho equalised with a header before Thiago Motta was sent off for brushing off Diego Milito with his arm - his dismissal sparking lengthy protests from the Barcelona players and coach Frank Rijkaard.
Zaragoza were also down to 10 men shortly afterwards when Gabriel Milito was red-carded for holding Javier Saviola.
Barcelona were kept at 1-1 until the 86th minute when Ronaldinho scored with an angled 20-yard free-kick, while Saviola added a third in injury time.
Argentine teenager Messi only lasted 23 minutes of the ganme before being forced off.
"Messi has fractured the fifth metatarsal in his left foot," said a medical statement on the Barcelona website.
"The treatment will be surgical and the expected loss is around three months."
Is this a "Reporting" forum?