Philippe Coutinho made his debut for Barcelona as they beat Espanyol to reach the Spanish Cup semi-finals.
The £142m signing from Liverpool came on with 22 minutes to play, by which time Barca were already 2-0 up in reply to last week’s 1-0 first-leg defeat.
Coutinho might have had an assist were it not for Pau Lopez’s fine save from Luis Suarez, who earlier headed Barca’s opener against their city rivals.
Lionel Messi got the decisive second with Barca’s 4,000th Nou Camp goal.
The Argentina forward’s deflected shot wrong-footed Lopez in the 25th minute, and he almost added a second in the game’s closing stages with a thumping header that struck the post from Ivan Rakitic’s destructive cross.
An Espanyol strike would have sent Quique Sanchez Flores’ side through on the away goals rule, and Gerard Moreno had a penalty shout turned down in the 81st minute.
Moreno appeared to be about to connect with a cross on the counter attack – he only had the goalkeeper to beat – when he went down in the box under apparent pressure from Jordi Alba behind him, but the referee waved his appeal away.
Sevilla, Valencia and Leganes – who knocked out Real Madrid on Wednesday – are the other teams in the last four.
Before kick-off, Argentina defender Javier Mascherano walked out onto the pitch to say his goodbyes, having completed a move to Chinese Super League club Hebei China Fortune.
The 33-year-old former West Ham and Liverpool player spent eight years at Barca, winning 18 trophies including four La Liga titles and two Champions Leagues.