A left midfielder, who can also play on the right, he has a hard shot, great dribbling skills and is a specialist at set pieces. He can also play as a defensive midfielder or just behind the strikers. After just two training sessions with the first team, coach Ottmar Hitzfeld gave Schweinsteiger his debut as a late substitute in a UEFA Champions League game against RC Lens in November 2002, and the youngster made an immediate impact, creating a goal for Markus Feulner within minutes. He signed a professional contract the following month and went on to appear in 14 Bundesliga games in 2002-03, helping Bayern to a league and cup double. The next season he played 26 Bundesliga games.
Schweinsteiger scored his first Bayern goal against VfL Wolfsburg in September 2003.
Surprisingly sent back to Bayern's amateurs by new coach Felix Magath at the beginning of the 2004-05 season despite his international exploits of the summer in the Confederations Cup, Schweinsteiger swiftly returned to play a role in the double-winning campaign and scored in Bayern's Champions League quarter-final first-leg defeat at Chelsea.
Over the next three seasons, up until the end of 2007-08, Bastian made 135 appearances in all competitions for Bayern Munich (UEFA Champions League, Bundesliga and German Cup), scoring 10 goals in the process.
On August 15, 2008, Schweinsteiger scored the first Bundesliga goal of the 2008–2009 season.
He made his international debut in 2004 in a friendly against Hungary. Bayern's number 31 earned rave reviews for his Euro 2004 performances in Portugal, showing combative skills and even setting up the opening goal for once Bayern teammate Michael Ballack in Germany's 2-1 loss against the Czech Republic.
He scored his first two international goals on June 8, 2005 against Russia and scored his first goal at a major tournament against Tunisia on June 18, 2005 at the Confederations Cup in Germany. This was followed up by two strikes in the third place play-off game at the 2006 FIFA World Cup, also in his home country. He almost performed a hat-trick with his two goals and a Portuguese own goal by Petit, also off his shot, which led the Germans to a third place win over Portugal in the 2006 FIFA World Cup.
During Euro 2008 qualifiers, he scored two goals en route to a 13-0 win over San Marino in San Marino. He scored the third goal in Germany's 4-1 win over Slovakia in Bratislava.
At the age of 22, he had already played 41 matches for the German national team, a record for any German player at the time. This record was soon broken, however, by Lukas Podolski who was capped 44 times at the age of 22. At the same age, Lothar Matthäus (the German all-time record holder with 150 caps) had only played 13 times for the German national team. To this day Germany have never lost a game when he has scored.
In the Euro 2008 group stage he was sent off in Germany's second match of the tournament against Croatia, which ended in a 2-1 defeat.
As in Germany's quest to win European Cup, he was again instrumental against Portugal by scoring the first goal in Germany's Euro 2008 Quarter-final match against them. He also assisted goals by Miroslav Klose and Michael Ballack from free kicks. Germany ended up winning the match 3-2 to advance to the semi-finals. He also scored his country's first goal in the 3-2 semi-final victory against Turkey.
As of: 4 October, 2008
|- |2002–03||rowspan="7"|Bayern Munich||rowspan="7"|Bundesliga||14||0||1||2||1||0||16||2 |- |2003–04||26||4||3||0||3||0||32||4 |- |2004–05||26||3||5||0||7||1||38||4 |- |2005–06||30||3||4||0||7||0||41||3 |- |2006–07||27||4||3||0||8||2||38||6 |- |2007–08||30||1||4||0||12||0||46||1 |- |2008–09||6||2||2||0||2||0||10||2159||17||22||2||40||3||221||22 |}
| # | Date | Venue | Opponent | Score | Result | Competition |
|---|---|---|---|---|---|---|
| 1. | June 8, 2005 | Borussia-Park, Mönchengladbach, Germany | 1 - 1 | 2 - 2 | Friendly | |
| 2. | June 8, 2005 | Borussia-Park, Mönchengladbach, Germany | 2 - 1 | 2 - 2 | Friendly | |
| 3. | June 18, 2005 | Rhein-Energie Stadion, Cologne, Germany | 2 - 0 | 3 - 0 | FIFA Confederations Cup 2005 | |
| 4. | June 29, 2005 | Zentralstadion, Leipzig, Germany | 2 - 1 | 4 - 3 | FIFA Confederations Cup 2005 | |
| 5. | March 22, 2006 | Westfalenstadion, Dortmund, Germany | 1 - 0 | 4 - 1 | Friendly | |
| 6. | May 30, 2006 | BayArena, Leverkusen, Germany | 2 - 2 | 2 - 2 | Friendly | |
| 7. | June 2, 2006 | Borussia-Park, Mönchengladbach, Germany | 2 - 0 | 3 - 0 | Friendly | |
| 8. | July 8, 2006 | Gottlieb-Daimler-Stadion , Stuttgart, Germany | 1 - 0 | 3 - 1 | FIFA World Cup 2006 | |
| 9. | July 8, 2006 | Gottlieb-Daimler-Stadion , Stuttgart, Germany | 3 - 0 | 3 - 1 | FIFA World Cup 2006 | |
| 10. | September 6, 2006 | Stadio Olimpico, Serravalle, San Marino | 0 - 2 | 0 - 13 | UEFA Euro 2008 Qualifying | |
| 11. | September 6, 2006 | Stadio Olimpico, Serravalle, San Marino | 0 - 7 | 0 - 13 | UEFA Euro 2008 Qualifying | |
| 12. | October 7, 2006 | Ostseestadion, Rostock, Germany | 1 - 0 | 2 - 0 | Friendly | |
| 13. | October 11, 2006 | Tehelné pole, Bratislava, Slovakia | 0 - 3 | 1 - 4 | UEFA Euro 2008 Qualifying | |
| 14. | June 19, 2008 | St. Jakob-Park, Basel, Switzerland | 1 - 0 | 3 - 2 | UEFA Euro 2008 | |
| 15. | June 25, 2008 | St. Jakob-Park, Basel, Switzerland | 1 - 1 | 3 - 2 | UEFA Euro 2008 | |
| 16. | August 20, 2008 | Frankenstadion, Nuremberg, Germany | 1 - 0 | 2 - 0 | Friendly | |
| 17. | September 6, 2008 | Rheinpark Stadion, Vaduz, Liechtenstein | 0 - 4 | 0 - 6 | FIFA World Cup 2010 qualifying |