Spanish World Cup winners Xavi and Pedro Rodriguez put Barcelona into a two-goal lead after just 17 minutes and David Villa marked his first Clasico with a brace inside two minutes (54 min, 56) before Jeffren added a late fifth as Mourinho stomached an unforgettable first defeat in charge of Real.
For Barcelona it was a fifth successive Clasico win over their arch rivals as coach Pep Guardiola maintained his 100 percent record in the fixture and exacted revenge over Mourinho, whose Inter Milan side defeated Barcelona in last season's Champions League semi-finals.
Real went into the game unbeaten and hoping for a first win at Camp Nou since December 2007. However, Barcelona gave old boy Mourinho, who used to work for the Catalan club as a translator under Bobby Robson, a night to forget with an emphatic win that evoked memories of the 6-2 drubbing of Madrid at the Santiago Bernabeu in May 2009.
It was a huge psychological win for Barca in the title race and the omens are good with the winner of the first Clasico going on to be crowned champions in the last six seasons. Argentine striker Gonzalo Higuain was a last-minute withdrawal for Real due to injury so French international Karim Benzema was handed a chance to shine on the biggest stage.
Guardiola said Real were the best counter-attacking team in the world but said Barcelona would attack and they were good to their word.
In the fifth minute Messi surprised everyone by curling a beautiful left-footed chip onto the post with Iker Casillas well beaten. It was a warning that Real didn't heed and on nine minutes the hosts took the lead through Xavi.
Andres Iniesta fed a pass into the penalty area with Marcelo failing to intercept the pass and Xavi took advantage of a fortunate piece of control to prod calmly past Casillas to the delight of the home fans.
Real had the best defence in the league beforehand and this was only the seventh goal they had conceded under Mourinho. The visitors responded with Angel di Maria forcing Victor Valdes to tip over a fierce shot but Barcelona were looking dangerous and struck again on 17 minutes through Pedro.
Villa went past Sergio Ramos by the touchline and Casillas could only fingertip his cross into the path of the inrushing Pedro who fired home.
Cristiano Ronaldo, top-scorer in the league with 14 goals, then took centre stage with his pass almost reaching Benzema only for an Eric Abidal toe to avert the danger.
On the half hour mark Ronaldo started a melee when he pushed Barca coach Guardiola for holding the ball, earning him a yellow card, and then whistled a fine free-kick past the post of Victor Valdes.
Real brought off the ineffective Mesut Ozil at half-time with Lass Diarra replacing him but it was more of the same as Barcelona dominated.
Villa went close with his goal-bound shot blocked but on 54 minutes Messi fed the Spanish World Cup winner, who took the pass brilliantly in his stride before firing past Casillas.
Real complained that Villa was offside but the goal stood and two minutes later the 40-million-euro signing from Valencia struck again with his eighth league goal of the season.
A defence-splitting pass from Messi released Villa, who beat Casillas again and left Real 4-0 down before the hour mark.
Substitute Jeffren Suarez netted a fifth late on and Sergio Ramos was sent off in the final minute for a terrible foul on Messi and then shoving Carles Puyol as tempers boiled over.