The visitors produced the first moment of real quality within a couple of minutes as Alexis Sanchez burst down the right wing and crossed for Cesc Fabregas, but the former Arsenal midfielder could not quite get on the end of it.
Barca continued to dominate, with Neymar and Jordi Alba linking up well on the left and Sanchez providing a big threat on the opposite flank.
It was the home side who gave their opponents a scare, though, hitting the post on 20 minutes after a mix-up between Gerard Pique and Sergio Busquets allowed Idlan Talaha to run through and chip the ball over Victor Valdes.
The Spaniards responded well and went ahead shortly after through Fabregas. Neymar found Alba, whose cross was headed towards goal by the Spaniard - although the goalkeeper may have done better, pushing the ball into the corner of the goal.
The Malaysian XI levelled the score 10 minutes later thanks to Amri Yahyah, who smashed the ball past Valdes after a mistake by Alba.
Their glory was soon cut short, though, as Neymar responded for Barca immediately, collecting Fabregas's pass, turning his defender and coolly slotting the ball past the goalkeeper.
Substitute Cristian Tello added a threat for Barca in the second half, but after a series of substitutions the game's tempo dropped considerably.
That was until Pique scored 15 minutes from the end, controlling Fabregas's pass well and smashing the ball beyond the goalkeeper.
The goal heralded a series of late chances for Barca but none of them were taken, meaning the game finished 3-1.