Renato scored the second in the 53rd by poking a cross from Daniel Alves past Ricardo.
Luis Fabiano also scored the first goal in last year's Uefa Cup final, when Sevilla beat Middlesbrough 4-0.
Osasuna, making their first appearance in the semi-finals of any European competition, packed the midfield with players and left Achille Webo as a lone attacker in an attempt to protect their 1-0 lead.
Hugo Almeida gave Bremen an early lead after a defensive mix-up in the fourth minute.
Almeida scored from outside the area after Espanyol goalkeeper Gorka Iraizoz came off his line to challenge the Bremen striker for the ball.
But Miroslav Klose, the leading scorer at last year's World Cup, then got his second yellow card for diving and was sent off in the 20th minute.
On Tuesday, Klose rejected an offer from Bayern Munich to stay with Bremen next season.
Ferran Corominas equalized for Espanyol in the 50th minute by scoring after goalkeeper Andreas Reinke could only palm away a shot by Albert Riera.
Jesus Mari La Cruz headed in another in the 60th.
Espanyol played without the suspended Walter Pandiani, the leading goalscorer in the competition with 11 goals this season.