Madrid: Two goals by Neymar and one from Luis Suarez gave Barcelona a 3-1 victory over 10-man Villarreal on Wednesday and a place in the final of the Copa del Rey.
Barcelona advanced 6-2 on aggregate after winning the first leg of the semifinal by the same scoreline.
In the other semifinal, Athletic Bilbao beat Espanyol 2-0 away on the night and 3-1 on aggregate, crushing the hosts' hopes of an all-Catalan final.
Villarreal began by pressing forward but Barcelona struck first with an inspired pass by Lionel Messi that Neymar lobbed over goalkeeper Sergio Asenjo in the third minute.
Jonathan dos Santos equalized for Villarreal in the 39th when he buried Jaume Costa's pass to the far post.
But Villarreal went a man down in the 65th after a straight red card for Tomas Pina for a clumsy tackle from behind on Neymar.
Suarez sidestepped a defender and Asenjo to score in the 73th and Neymar headed in his sixth goal in this season's Copa from a pinpoint cross from Xavi Hernandez in the 88th.
"Once again in a final," Neymar said. "Villarreal is a good team with many high quality players and we knew it was going to be a difficult match, so that pushed us to try and start the game well."
Although Villarreal mounted six attacks early on, they had difficulty in breaking down Barcelona's defense and goalkeeper Marc-Andre ter Stegen made his first save by palming Denis Cheryshev's shot away in the 21st.
Frustration began to show in Villarreal's squad, with Dos Santos and Cheryshev receiving yellow cards in quick succession before the Mexico midfielder scored for the hosts.
Pina twisted Sergio Busquets' ankle badly when he accidentally landed on it in the 41st while making a pass.
Busquets was taken off the field in obvious pain on a stretcher and replaced by Jeremy Mathieu. Later, Barcelona said the Spain midfielder had sustained a high ankle sprain and would need to undergo tests to determine the extent of the injury.
Fans at the Madrigal stadium cheered Asenjo as he dived to save a shot by Messi in the 55th and again when he stopped one by Neymar in the 72nd.
"We're sad. We knew it was going to be a complicated match against a Barcelona that's playing very well," Dos Santos said. "Their first goal wasn't what we were expecting but after that we pressed them at all times and although we regained control of the match, Barcelona can kill you off at any moment."
Athletic kept alive its remaining hope of success this season after being knocked out of the Europa League by Torino last week and remaining stubbornly glued to La Liga's mid-table.
Aritz Aduriz pounced on a poor clearance to open the scoring for in the 13th.
Xabier Etxeita doubled the tally for Athletic when he headed in a corner kick in the 42nd.
Athletic goalkeeper Iago Herrerin was substituted by Gorka Iraizoz in the 66th after injuring his left knee.