Barcelona completed a 4-2 aggregate victory over Atletico Madrid with a 3-2 win in the Copa del Rey quarter-final second leg.
Barcelona booked their place in the Copa del Rey semi-finals as a 3-2 victory on Wednesday saw them beat nine-man Atletico Madrid 4-2 on aggregate.
A brace from Neymar helped seal a place in the last four for Luis Enrique's side, with a Miranda own goal sandwiched between those two strikes.
A frantic opening 45 minutes saw five goals and a red card at the Vicente Calderon, with Fernando Torres getting the night under way with his first home goal since returning to the club.
Neymar soon levelled for the visitors with a composed finish, only for Raul Garcia to restore Atletico's lead from the penalty spot.
However, Miranda's own goal and Neymar's second saw Barca lead at the break, with the hosts reduced to 10 men when Gabi was sent off in the tunnel at the interval.
Chances dried up in the second half with neither side able to add to their tallies, but Mario Suarez's late red ensured that Atletico ended with nine players, and Barca comfortably saw out their aggregate victory.
Within the opening minute Torres had levelled the tie following some uncharacteristic sloppy Barcelona defending from Javier Mascherano.
His long ball out of defence was intercepted by Guilherme Siqueira on the halfway line, he found Torres and the striker fired into the bottom corner.
With noise reverberating around the Vicente Calderon, Atletico appeared to have the upper hand, but Neymar soon quietened them down with an equaliser after nine minutes.
Lionel Messi and Luis Suarez combined well on the right-hand side, before the latter played a perfect pass for the Brazilian, and he made no mistake to beat Jan Oblak.
Neymar thought he had extended Barca's aggregate lead in the 18th minute as he raced clear from a long clearance to score, but the assistant referee's flag denied him on this occasion.
Antoine Griezmann should have restored Atletico's advantage on the night three minutes before the half hour, but he fired straight at Marc-Andre ter Stegen.
Within 60 seconds, though, they were ahead as Raul Garcia scored from the spot - the midfielder firing home from 12 yards after Mascherano was adjudged to have fouled Juanfran on the edge of the area.
Barca levelled eight minutes later thanks to a Miranda own goal. The defender miscued a clearance into his own net following Sergio Busquets' header.
And, as the momentum shifted in their favour again, the Catalans went in at the break ahead after another swift counter-attack. Atletico had seen a penalty appeal waved away before Messi led the charge up the other end of the pitch and found Jordi Alba, who played the ball in for Neymar to score.
The drama did not let up and, as tempers began to fray at the break, Atletico midfielder Gabi was dismissed in the tunnel for his involvement in a fracas.
Arda Turan was then lucky not to follow him early in the second half when he was only shown a yellow card having thrown his boot at the assistant after the the non-award of a foul.
Barcelona's man advantage enabled the visitors to dictate the pace in the second 45 minutes, and they slowly took the sting out of Atletico's play.
Diego Simeone's side were still able to create some chances, with substitute Cani having the best of them when his 70th-minute strike was well saved by Ter Stegen. But any hopes Atletico had of mounting a late comeback ended with seven minutes remaining when Mario Suarez was sent off.
Barca had done enough and now await Getafe or Villarreal in the semi-final, with those two due to meet on Thursday.