Luiz Adriano opened the scoring for Shakhtar, but fellow Brazilian Naldo equalized before halftime.
Shakhtar's samba soccer featured five Brazilian starters, all attackers. Ironically, the difference in the final may have been the absence of Werder's Brazilian playmaker Diego, who was suspended.
"It was important not to allow Werder to play to its style," Shakhtar's Romanian coach, Mircea Lucescu, said. "We controlled the game and we created most of the chances."
Werder Bremen will now turn its attention to the German Cup final against Bayer Leverkusen on May 30.
"We were just not fast enough and not just effective enough," Werder coach Thomas Schaaf said. "We were not able to put any pressure on our opponents."
The UEFA Cup, Europe's second-tier competition, will become the Europa League next season.
May 20 in Istanbul
Shakhtar Donetsk 2 Werder Bremen 1. Goals: Luiz Adriano 25, Jadson 97; Naldo 35.
Shakhtar Donetsk -- Pyatov, Srna, Kucher, Chygrynskiy, Rat, Lewandowski, Ilsinho (Gai, 100), Jadson (Duljaj 112), Fernandinho, Luiz Adriano (Gladkiy, 89), William.
Werder Bremen -- Wiese, Fritz (Pasanen 95), Boenisch, Proedl, Baumann, Naldo, Frings, Niemeyer (Tziolis 113), Mesut Ozil, Rosenberg (Hunt, 78), Pizarro.
Referee: Luis Medina Cantalejo (Spain).