Manchester United led at halftime after Nani finished superbly after a wonderful break from Danny Welbeck on 22 minutes.
Barcelona had been keeping possession well inside the United half, but were caught cold by Welbeck at a corner kick and the Portugal winger raced towards their goal before finding Nani, who slotted home well.
United players were left angry ten minutes by an X-rated challenge from Jonathan dos Santos on winger Ashley Young.
After halftime, Barca took advantage from a slip by Ryan Giggs to equalise. Man of the moment, Thiago Alcantara hit a screamer from 20 yards to level the scores on 70 minutes.
However, six minutes United were back in front thanks to Michael Owen. Tom Cleverley intercepted a sloppy pass from Sergio Busquets and fed Owen, with the former Real Madrid striker beating Barca goalkeeper Victor Valdes with an ice-cold finish.
Barcelona: Valdes; Fontas, Abidal, Alcantara, dos Santos; Busquets, Iniesta, Keita; Villa, Pedro, Afellay. Subs: Pinto, Masip, Balliu, Pique, Puyol, Xavi, Suarez, Riverola, Cabelino, Lozano, Muniesa, Carmona, Espinosa, Cuenca
Manchester United: De Gea; Evra, Vidic, Evans, Rafael; Cleverly, Anderson, Young, Nani; Rooney, Welbeck. Subs: Lindegaard, Amos, Jones, Ferdinand, Smalling, Fabio, Obertan, Owen, Giggs, Carrick, Park, Diouf, Berbatov, Macheda