Lionel Messi scored two goals, including the late winner, and Barcelona won its 10th Spanish Supercup with a 3-2 victory over bitter rival Real Madrid that ended with both benches brawling on the field.

Messi volleyed Adriano's cross past Iker Casillas for the 87th minute winner to finish off a move started by recent arrival Cesc Fabregas, who made his Barcelona debut.

Messi fed Andres Iniesta for the 15th-minute opener before scoring his first before the break. Madrid twice rallied through goals by Cristiano Ronaldo and Karim Benzema before Messi clinched the 5-4 aggregate victory.

Tensions on the hot, humid night at Camp Nou reached a climax in injury time as players and coaching staff brawled on the field after Madrid defender Marcelo's hasty challenge on Fabregas.