Madrid kept their quest for a European three-peat alive with a 4-3 aggregate victory over Juventus in the quarter-finals, despite Wednesday's 3-1 loss to the Italian champions.
Zinedine Zidane's men were poised for the semi-finals following last week's 3-0 win in Turin, only for Juve to mount a remarkable comeback in the return leg as they levelled the tie thanks to Mario Mandzukic's double and Keylor Navas's fumbled cross.
But Madrid managed to deny the rallying visitors after Lucas Vazquez was fouled by Medhi Benatia – Cristiano Ronaldo stepping up to convert the stoppage-time goal.
Marcelo – the captain in the absence of suspended skipper Sergio Ramos – could not help himself from having a dig at Barca, who surrendered a 4-1 first-leg advantage in a stunning 3-0 collapse against Roma on Tuesday.
"We should face and we did everything possible to go through," the Brazil international full-back said.
"What happened to Barcelona wasn't going to happen to us because we're Real Madrid."
There were dramatic scenes at the death when referee Michael Oliver pointed to the spot after substitute Vazquez was brought down by Benatia.
Juve goalkeeper and captain Gianluigi Buffon angrily protested the decision before he was sent off for the first time of his storied career in the Champions League.
Asked about the penalty, Marcelo said: "The penalty was very clear."
Madrid will face either Liverpool, Bayern Munich or Roma in the final four.