A second-half brace from David Villa led Barcelona to an incredible 5-0 rout of Real Madrid in the Clasico and saw the Catalans leapfrog their fierce rivals - who lost for the first time under Jose Mourinho - at the top of the Primera Division.
Mourinho had gone unbeaten in his first 19 games in all competitions since joining Madrid in the summer, but the Portuguese was unable to avoid defeat in the biggest one of all as Pep Guardiola maintained his perfect record as Barca coach in the Clasico with a fifth straight victory over Real.
Xavi and Pedro put Barca two up within 17 minutes, while Villa made it a night to remember at a packed Nou Camp with two goals early in the second half and substitute Jeffren Suarez added a fifth before Sergio Ramos was sent off.
Barca went ahead in the ninth minute. Andres Iniesta's perfectly-weighted through-ball found Xavi and the midfielder took one touch to control, albeit with some fortune, before clipping the ball past Iker Casillas on the volley from close range.
Angel di Maria tested Victor Valdes with a stinging effort at the other end two minutes later, but Barca made it 2-0 in their very next attack. Pedro was left with a simple tap-in from close range after Casillas failed to deal with Villa's low cross from the left.
An unseemly brawl followed after half an hour, when Cristiano Ronaldo pushed Guardiola in the chest, with the Barca coach having refused to hand the ball to the Portugal winger on the touchline. Ronaldo was shown the yellow card and received huge jeers every time he touched the ball after that.
Barca began the second half brightly and after Xavi and Villa missed good chances early on, the latter made it 3-0 with only 54 minutes on the clock. The Spain striker latched onto Messi's pass and beat Casillas with a clinical finish in the area, although he looked to be marginally offside when the ball was played.
The same combination made it 4-0 three minutes later as Messi set up Villa once more and the former Valencia forward slid the ball through Casillas' legs as the keeper came out to narrow the angle.
Jeffren, who replaced Pedro with three minutes left, made it five in added time when he clipped the ball past Casillas from close range after a low cross from the right.
Madrid's misery was compounded right at the end as the visitors finished the game with 10 men after Ramos hit out at Carles Puyol and was shown the red card.