Barcelona dominated for long spells of possession, but it was United who took a 22nd minute lead courtesy of Nani. The Portuguese winger kept his composure when one-on-one with goalkeeper Victor Valdes to calmly slot the ball into the net.
Fresh from his two goals in the Audi Cup Final against Bayern Munich, Barca midfielder Thiago levelled up proceedings in the 72nd with a swerving effort from 25 yards.
The winning goal came 14 minutes from time with Michael Owen providing the finishing touch to Tom Cleverley's through ball.
The match was the final game of United's North American pre-season tour.