The visitors got themselves level just four minutes later as Gonzalo Castro fired in.
However, the scores were tied for only two minutes before Lionel Messi took on three defenders to rifle the ball into the top corner.
The Argentine got his second of a frantic first half on 16 minutes when he poked in past Claudio Bravo.
Messi nearly completed his hat-trick at the start of the second period, but his drive slammed into the sidenetting. Xavi then saw his long-range effort tipped around the post by Bravo.
One of the loudest cheers of the night came with 15 minutes to play as David Villa made his return in front of the Catalan fans after spending nine months out with a broken leg.
It got better for the striker moments later when he fired in after good work from Andres Iniesta.