- Basle 1-2 Bayern Munich: As it happened
Bayern were deservedly behind at half-time after Alexander Frei's wonderfully worked 18th minute strike, but the Bavarians roared back after the break.
Schweinsteiger equalised from the penalty spot 10 minutes after the restart and sealed the win two minutes from time when he turned in Holger Badstuber's free-kick at the back post.
Victory for Bayern meant they have won both of their two matches in Group E so far while for Basle it was a second successive 2-1 defeat.
Bayern had looked the more likely to score before they fell behind, with Toni Kroos' low angled drive tipped just wide by Basle goalkeeper Franco Costanzo.
The visitors then may even have had a penalty when Xherdan Shaqiri appeared to handle the ball under pressure from Miroslav Klose, but Basle were ahead with 18 minutes gone.
The goal owed much to the strength and skill of Marco Streller, who outmuscled Badstuber before backheeling a pass for Frei to curl an unstoppable shot into the top corner.
The goal sucked the life out of Bayern's early dominance and the Germans were run ragged for the next 20 minutes as they clung on in the contest.
Benjamin Huggel had a header ruled out for offside while the lively Shaqiri slid a pass along the six-yard box but just behind an unmarked Streller at the back post.
Streller then missed the chance to get on the scoresheet when the Bayern defence allowed a corner to bounce through to him but the striker headed over in space.
The German champions did, however, show signs of regaining their composure with Mark van Bommel forcing a sharp save from Costanzo.
Van Gaal made an attacking change at the break, sending on Mario Gomez for Hamit Altintop.
His side responded by playing with greater purpose and they were level 10 minutes after the restart when Huggel fouled Thomas Muller in the area.
Schweinsteiger sidefooted the penalty low into the bottom right corner.
Bayern's early swagger started to return and they looked destined to go ahead when Philipp Lahm's low centre slid invitingly across goal before Costanzo got a vital touch.
Substitute Ivica Olic added to their threat as he found space down the left without finding the telling final ball.
Basle's attack was not completely redundant, however, and Streller should have done better than to head Huggel's cross straight into the arms of Hans-Jorg Butt before Gilles Yapi Yapo bent a 20-yard shot just wide.
The game was decided, however, in the final moments when Badstuber bent a free-kick to the back post and the defence failed to track Schweinsteiger to allow him to leap and sidefoot in.