Derlei Silva's second-half penalty sent Porto into the Champions League final at the expense of Deportivo.
CHAMPIONS LEAGUE SEMI-FINAL
Aggregate: Deportivo 0-1 Porto
The Brazilian had earlier hit the post with a diving header, a chance that had been created by the inspirational Deco.
It was the dimunitive midfielder who won the penalty, tempting Deportivo defender Cesar into a rash challenge.
Deportivo's task became even harder when Noureddine Naybet was sent off for a second yellow card, a dismissal that allowed Porto to close out the game.
Jose Mourinho's side defended superbly, breaking up most of Deportivo's attacks before they reached the final third and through Deco's vision the Portuguese champions were always quick to utilise the ball well when they gained possession.
Porto quickly settled to the pace of the pitch - sodden by heavy rain - and their own quick passing game.
Deportivo were more edgy and the Spanish side suffered a blow in the 11th minute when Naybet picked up a yellow card for a rash challenge on Derlei.
Despite dominating in those early exchanges, Porto struggled to create any clear-cut openings.
Maniche Ribeiro did have a couple of shots, but his first went wide and he scuffed his second effort.
Just before the half-hour Deco burst into the box, though he selfishly opted to shoot rather than pass.
Having abjectly struggled to find any sort of rhythm, Deportivo edged their way back into the match.
After a deflected free-kick, Aldo Duscher lobbed the ball to the unmarked Juan Carlos Valeron, who with only Vitor Baia to beat, volleyed wide.
Derlei's penalty ensured Porto's victory
It was to prove a costly miss.
A minute after the start of the second half Deco's whipped cross to the far post evaded the Deportivo defence, only for Derlei's header to come back off the upright.
Soon afterwards Derlei scampered clear, though this time he was denied by Cesar's superb defensive play.
Just before the hour Cesar's judgment fatally deserted him when he lunged at Deco to bring the attacking midfielder down in the box.
Derlei hit his spot-kick low and hard to Jose Molina's right to give Porto the lead.
Deportivo's hopes of recovering took another dent on 70 minutes when Javier Irureta's side were reduced to ten men.
Naybet was dismissed after being yellow-carded for a second time, this time for fouling Paulo Ferreira.
Irureta threw on Deigo Tristan and the former Real Mallorca striker went close as he arced a free-kick narrowly wide.
But Porto refused to buckle, ensuring their passage to their first European Cup final since 1987.
D Coruna: Molina, Manuel Pablo, Romero, Naybet, Cesar,
Sergio (Tristan 67), Duscher, Victor (Scaloni 55), Valeron,
Luque (Fran 73), Pandiani.
Subs Not Used: Munua, Capdevila, Djalminha, Pablo Amo.
Sent off: Naybet (70).
Booked: Naybet, Tristan.
FC Porto: Vitor Baia, Nuno Valente, Paulo Ferreira,
Jorge Costa, Ricardo Carvalho, Costinha, Maniche,
Pedro Mendes (Bosingwa 87), Deco, Derlei (McCarthy 90),
Carlos Alberto (Pedro Emanuel 68).
Subs Not Used: Nuno, Ricardo Costa, Alenitchev, Jankauskas.
Booked: Carlos Alberto, Pedro Mendes.
Referee: Pierluigi Collina (Italy).