HSV en Werder Bremen mogen onderling uitmaken welke van de twee hanzenclubs de laatste finale van de UEFA Cup zal meemaken. Beide Duitse ploegen hadden voldoende aan de 3-1-zege in de heenwedstrijd.
HSV overleefde een lastige uitwedstrijd bij een verrassend goed spelend Manchester City, dat met 2-1. HSV begon sterk en nam na twaalf minuten de leiding door een doelpunt van Guerrero die attent reageerde bij een kluts. Daarna pakte City de draad knap op. Robinho en Elano speelden bij vlagen zeer sterk. Elano kreeg de kans om vijf minuten later gelijk te maken uit een strafschop. Manchester City begon er zowaar in te geloven. Elano kogelde een vrije trap op de lat.
Na de pauze begon City helemaal sterk. Eerst zette Caicedo zijn ploeg op voorsprong en daarna kogelde Elano een vrije trap tegen de paal. Een minuut daarna miste Caicedo een enorme kans alleen voor het doel na een doorgeschoten pass. HSV speelde daarna sterk en voorkwam dat City echt de bovenliggende partij zou worden. Robinho speelde individueel bij vlagen goed, maar kon zijn ploeg niet over de drempel heen helpen. Het bleef bij 2-1 en dat was voldoende voor Martin Jol.
Werder ontsnapte uiteindelijk bij Udinese, dat in de eerste helft de achterstand van de heenwedstrijd wegwerkte. Inler opende de score na een kwartier met een daverend afstandschot. Diego maakte dertien minuten later gelijk na een fout van Zapata. In het laatste kwartier van de eerste helft zorgde Quagliarella met twee mooie goals voor een totaal evenwicht (3-1).
Na pauze sloeg Werder net als tegen AC Milan toe. Uit een snelle aanval zorgde Diego met een kopbal voor 3-2, nadat een inzet van Almeida op de lat belandde. Udinese viel aan en kreeg veel kansen. Asamoah schoot tegen de paal. Diego kreeg daarna een strafschop, die hij zelf miste. Maar uit de hoekschop erna zorgde Pizarro voor de beslissing. Werder plaatst zich voor de halve finale waarin het net als in 1988 een Duitse tegenstander krijgt.