Messi scored twice and Xavi once as Barcelona capitalised on Robin van Persie's red card.
Messi made the most of a Cesc Fabregas mistake in first half stoppages to break the deadlock, but a Segio Busquets own goal put Arsenal back ahead in the tie on aggregate. Robin van Persie was sent off after kicking the ball away when on a yellow card and Barca added further goals through Xavi and Messi's penalty.
The Blaugrana started as they meant to by dominating the early possession and Laurent Koscielny was booked for bringing down Pedro as he advanced towards goal. From the resulting free-kick, Wojciech Szczesny failed to gather cleanly and appeared to break a finger, and the Pole had to be replaced by Manuel Almunia.
The home domination continued, and the Gunners breathed a sigh of relief when Abou Diaby’s clear foul on Messi just inside the area went unpunished by the referee.
The almost inevitable breakthrough eventually came from a surprise source in the first half injury time. Cesc Fabregas tried to play a backheel close to his own box and saw the ball intercepted by Iniesta, who chipped a pass into the channel for Lionel Messi to lift over the advancing Almunia before volleying into the unguarded net.
Arsenal got a leveller against the run of play early in the second half to send them back ahead on aggregate when a corner from the left by Samir Nasri was missed at the near post, and when three Barcelona players went up together to clear, Sergio Busquets headed the ball into his own net.
But within minutes the Gunners were rocked by a red card for Robin van Persie. Having already been booked for throwing an arm at Dani Alves late in the first half, the Dutchman responded to an offside flag by sending in a right foot shot which referee Massimo Busacca considered a time-wasting act, and Arsenal were down to 10 men.The weight of the pressure on the away side told when Xavi was allowed to walk straight through the left channel of their defence to beat Almunia, and within two minutes Barcelona were awarded a penalty when Koscielny brought down Pedro. Lionel Messi stepped up to fire in his sixth goal in two home games against the Gunners and put Barca 4-3 up on aggregate.
Though Barca had further chances through Ibrahim Afellay and Dani Alves, Arsenal could have won the tie when Nicklas Bendtner went through the middle, but he failed to get a shot away before Victor Valdes and Busquets foiled the danger.
The win sends Barcelona into the quarter-finals as they continue their assault on a second treble in three years, while Arsenal's potential quadruple has been reduced to a two-pronged attack on the Premier League and FA Cup.