Messi at the double to sink 10-man Real
The Argentine World Player of the Year's clinical finish from close range in the 76th minute and brilliant individual strike three minutes from time gave Barca the spoils at a rowdy Bernabeu on Wednesday in an attritional contest which was short on entertaining football but rich in controversy.
Bad blood had flowed between the sides in the lead-up to the match, their third meeting in just over a week, and it spilled on to the pitch as the players trooped off at the break.
Barca reserve goalkeeper Jose Manuel Pinto was shown a red card following a fracas next to the tunnel, while Real defender Pepe was dismissed for a lunging tackle on Daniel Alves with just over half an hour left.
Mourinho, who unleashed a sustained rant at his press conference in which he accused UEFA of favouring Barca, was sent to the stands for protesting the decision.
Messi's goals, his 10th and 11th in 11 games in this edition of Europe's elite club competition, gave Barca a huge advantage to take back to the Nou Camp next week.
The 23-year-old sped into the penalty area to meet Ibrahim Afellay's low cross from the right and steer the ball past Iker Casillas from close range to break the deadlock.
He followed that up with a wonderful second when he weaved his way through the Real defence and slotted past Casillas to give the Catalan side a two-goal cushion to take into Tuesday's return leg in the Catalan capital.
Guardiola, who refused to respond to Mourinho's remarks about UEFA, warned his players that they still had a good deal of work to do in the second leg and said you could never write off the nine-times winners.
"We played a very, very good match," he told a news conference.
"We controlled the speed of their counter-attacks and their aerial game which is very powerful," he added. "We got a good result and I congratulate the team."
The Real fans turned the giant arena into a sea of white flags before kick-off, while several thousand Barca faithful waving Catalan banners high up in the stands tried to make themselves heard above the din.
Real tore into Barca and stopped them playing in the first half of last week's King's Cup Final, which the Madrid club won 1-0, but it was a different story on Wednesday as Barca controlled without showing too much ambition in attack.
David Villa cut in from the right wing in the 11th minute and sent a low drive whistling past the post and Messi sent Xavi clear in the 25th but his effort was straight at Casillas.
The home side's best effort of the first half came moments before the break when Cristiano Ronaldo tested Victor Valdes with a swerving effort the Barca keeper just managed to block.
The second half was short on the kind of entertaining football Real and Barca typically produce as the visitors again dominated possession without ever really threatening the home goal until Messi took matters into his own hands.
Mourinho said his team had no chance of reaching the final and suggested that even if they managed to score a goal at the Nou Camp the referee would somehow prevent them going through.
"We will go there with all the pride and respect for our world of football," the Portuguese added.
"We might score a goal and that would open up the game but they (UEFA) will kill us again."
In Tuesday's first semi-final, English Premier League leaders Manchester United won 2-0 at Bundesliga side Schalke 04. The final is at London's Wembley stadium on May 28.