However, Bayern did it the hard way against the side that they beat 4-0 in last season's final as they went 1-0 down just after a minute as the in-form striker Claudio Pizarro pounced to score.
Bremen's defence were at fault when Schweinsteiger equalised as veteran French defender Mickael Silvestre failed to move out with the rest of his defenders and put him onside.
Werder dominated the second-half but Pizarro - who last weekend became the top scoring foreign player of all-time in the Bundesliga - saw a header cleared off the line and Marko Arnautovic's free kick hit the post.
Schweinsteiger took advantage of these narrow escapes and scored the winner with a strong shot from 20 metres to give Bayern a welcome boost as lean early season league form sees them 12 points adrift of surprise leaders Mainz.
Coach Louis van Gaal will also be encouraged with this victory coming without seven first choice players and is due to have French star Franck Ribery back soon while last season's star performer Arjen Robben is set for a return in January.