Copa del Rey: Espanyol 0 Athletic Bilbao 2
Ernesto Valverde's side struck twice in the first half to seal victory at Cornella-El Prat - sending them into the final against Barcelona on May 29.
Aritz Aduriz continued his hot run of form with a fine finish in the 13th minute, before defender Xabier Etxeita converted from an Athletic corner on the stroke of half-time.
There was no way back for Espanyol in a disappointing showing, while Athletic will now hope to gain some revenge on Barca, who have beaten them in their last two Copa finals.
Bilbao needed a goal after conceding on home soil in the first leg and set about their task with positive intent, Andoni Iraola missing an early chance when he side-footed a volley across the face of goal.
A promising start was capped with a goal when a poor clearance fell to Aduriz on the edge of the box, and he took a touch before firing low into the left corner past a diving Pau Lopez.
The goal - Aduriz's seventh in his past eight starts in all competitions - put the onus on Espanyol to attack, but it was Valverde's men who continued to impress.
Aduriz threatened again in the 24th minute when he latched on to a throughball from Iker Muniain before Lopez came out to meet him, prompting penalty claims that were waved away.
The home side finally stirred into life before the interval, with Christian Stuani capitalising on some lax Bilbao defending, but he shot straight at Iago when through one-on-one.
And a tame Espanyol outfit were made to pay for their lack of attacking vigour when Athletic doubled their lead on the night, Etxeita's well-placed glancing header from Iraola's corner beating Lopez at his far post.
Aduriz and Inaki Williams both had chances to further increase Athletic's advantage early in the second half, but Espanyol were unlucky not to pull a goal back when substitute Felipe Caicedo hit the woodwork prior to the hour mark - and the rebound fell kindly for Iago.
Stuani then put a header well over the crossbar as Espanyol tried to create chances, but clear-cut ones were not forthcoming as Athletic's defence held up.
Iago had to be replaced after injuring himself playing a pass out of the back, with Gorka Iraizoz coming on in the 66th minute.
The substitute was called into action soon after his introduction, saving a Victor Sanchez strike, but it was the only time he was pressed.
Williams was one-on-one with Lopez in the 77th minute, but could not add to Athletic's lead - and should have squared a pass for Muniain who had the goal at his mercy.
But it mattered little as Bilbao took another step towards ending their 21-year wait for a Copa crown.