A goalless first half saw Real have the better of the chances through Brazilian starlet Vinicius, who spurned several opportunities when finding himself well-placed.
Barca had rarely threatened to that point but Suarez stunned the Bernabeu five minutes into the second half, sidefooting home a cross from Ousmane Dembele after excellent work from the French youngster down the left.
It shook the Bernabeu and rocked Real into life as they again pressed through Vinicius down the left, while Sergio Reguilon drew a stunning save from the in-form Marc-Andre ter Stegen in the Barca goal.
But Barca applied the sucker-punch moments later when Dembele raced clear down the right flank, crossing into the box where Real defender Raphael Varane turned the ball past Keylor Navas and into his own net while under pressure from Suarez.
Things went from bad to worse for Real when Suarez went down under a challenge from Casemiro in the box shortly after, winning a penalty which he nonchalantly converted with a cheeky ‘Panenka’ dink over Navas.
Real attempted to salvage some pride but failed to register on the scoresheet, meaning Barcelona set up a sixth successive appearance in the Copa del Rey final and the chance for a fifth straight title in the competition.
Barca will meet either Real Betis or Valencia in the final, who play tomorrow night with their tie finely balanced at 2-2 after the first leg.
Real will not have to wait long for the opportunity for revenge, as they next face the Catalans at the Bernabeu on Saturday in La Liga for a second Clasico in four days.