Schweinsteiger maakte op 6 juni 2004 zijn debuut in het Duits voetbalelftal tegen Hongarije. Op het WK 2006 in eigen land en het WK 2010 behoorde hij tot de selectie. Op het EK 2008 behoorde Schweinsteiger ook tot de selectie en werd hij aan het einde van de tweede wedstrijd tegen Kroatië met een rode kaart van het veld gestuurd wegens onsportief gedrag. In de kwartfinale van hetzelfde toernooi speelde Duitsland tegen Portugal en maakte hij het eerste doelpunt na aangeven van Lukas Podolski. Die wedstrijd werd hij verkozen tot "Man of the Match". In de halve finale tegen Turkije scoorde Schweinsteiger de 1–1, wederom op aangeven van Podolski. Die wedstrijd werd gewonnen met 3–2. Op 15 oktober 2013 speelde hij zijn honderdste interland tegen Zweden. Op het WK 2014 werd Schweinsteiger wereldkampioen met de Duitse ploeg. Met het Duits elftal nam hij in 2016 deel aan het Europees kampioenschap voetbal in Frankrijk. Duitsland werd op 7 juli 2016 in de halve finale uitgeschakeld door Frankrijk (0–2), na in de eerdere twee knock-outwedstrijden Slowakije (3–0) en Italië (1–1, 6–5 na strafschoppen) te hebben verslagen. Schweinsteiger speelde die dag zijn 38e wedstrijd op een EK of WK en verbrak daarmee het record van Miroslav Klose uit 2014. Na afloop van het toernooi stopte hij als international. Hij speelde op 31 augustus 2016 ter afscheid zijn 121e en laatste interland, vriendschappelijk tegen Finland.