Lawmakers voted 487-102 in favor of the bailout deal hammered out last month. Thirteen abstained.
Friday's vote widely seen as a test of the chancellor's authority over her own supporters.
The German government is launching a last-ditch effort to salvage a deal with Switzerland that aims to crack down on German tax cheats who hide money in Swiss banks.