Bayern Munich reached their second Champions League in as many years after completing an annihilation of Barcelona at the Nou Camp.

The Catalans were without Lionel Messi, who continues to struggle with a hamstring injury and remained on the bench through the 90 minutes, but even the Argentine magician would have struggled to make an impression as Bayern held the hosts at bay before putting gloss on an emphatic win in the second half.

Arjen Robben struck three minutes after the break, curling past a desperate Victor Valdes, before Gerard Pique hacked Franck Ribery's cross into his own net.

Thomas Mueller pilled on the misery with a back-post header to confirm Barcelona's biggest-ever European defeat over two legs, and seal Bayern's place in an all-German Champions League final against Borussia Dortmund at Wembley.

Bayern Munich
Bayern Munich celebrate after thrashing Barcelona.

Robben, part of the Bayern side that lost last year's European Cup final to Chelsea, says his side are fully focused on avenging their defeat.

"Now we are in the final, it is the third time in the last four years, but it is time to win it now," he explained.

"It is going to be a big one. Dortmund have proved over the last two or three years that they are a very good side. It is going to be a game which is decided on small details.

"I think we have to stay calm. We are playing some great football, we have to enjoy this moment."

On leaving out Messi, Barca coach Tito Vilanova told reporters afterwards: "Leo played in Bilbao on Saturday because he felt better. He imprinted a change on the team but at the end of the game he felt some strange sensations.

"He trained this week, but he didn't feel right. He is an explosive player and there was a risk he could tear his hamstring, so he couldn't help the team in these conditions."