They progressed 6-4 on aggregate after drawing 2-2 in the Nou Camp last week, with goals from Pedro, Pique, Iniesta and Messi putting them through.
Madrid: Holders Barcelona set up a King's Cup semi-final with their arch-rivals Real Madrid after a thrilling 4-2 second leg win in Malaga on Thursday.
The La Liga leaders progressed 6-4 on aggregate after drawing 2-2 in the Nou Camp last week, with goals from Pedro, Gerard Pique and late strikes from Andres Iniesta and Lionel Messi putting them through.
Malaga's Joaquin had quickly cancelled out Pedro's early strike in the 12th minute and after Pique netted early in the second half, Roque Santa Cruz put the hosts back in the tie after 68 minutes.
However Manuel Pellegrini's side ran out of steam as the game wore on after an impressive first half and Iniesta combined with Cesc Fabregas for a wonderful third after 76 minutes.
World Player of the Year Messi ended the game as a contest with ten minutes to go.
Jose Mourinho's Real beat Valencia 3-1 on aggregate, despite having two players sent off in Wednesday's 1-1 second-leg draw at the Mestalla.
The semi-final first legs are scheduled for next week.
On the other side of the draw, Atletico Madrid set up a last four encounter with Sevilla after drawing 1-1 at their city rivals Real Betis to progress 3-1 on aggregate.
Diego Costa scored a valuable away goal, to add to last week's 2-0 victory at the Calderon, after a dreadful misunderstanding in the Betis defence just before halftime.
Chasing a long punt over the top Betis defender Antonio Amaya did not see his keeper Casto Espinosa had raced out of the area and he headed the ball past him allowing Costa to run through and tap into an empty net.
La Liga's second-placed side Atletico successfully stifled their hosts until they gave away a penalty in the final minute to concede their first goal in six games in this season's cup competition.
Atletico defender Diego Godin bundled over Jorge Molina in the area and the striker netted from the spot.
Sevilla, who beat Atletico 2-0 in the 2010 Cup final, swept aside Real Zaragoza 4-0 on aggregate in their quarter final.