Training for the 2008–09 season began on 30 June 2008. Several players were still on vacation due to Euro 2008, while Franck Ribéry was missing due to injury. After a 45-minute in-training test against their own amateurs, the first official test was won at SV Lippstadt 7–1. Further tests on 19 July in Nördlingen and 20 July in Amberg were won 8–0 and 11–1. The T-Home Supercup against Borussia Dortmund marked the first loss of the season (1–2). After a goalless draw at 1. FC Köln on 26 July Bayern travelled to Japan for a guestplay at Urawa Red Diamonds, beating the hosts 4–2. On 5 August, Bayern hosted Internazionale in the Franz Beckenbauer Cup for the final test before the regular season, losing 1–0.
On 8 August, Klinsmann announced that Mark van Bommel would succeed Oliver Kahn as captain. Two days later, in the first cup match, third league club Rot-Weiß Erfurt provided unexpected difficulties for the Bayern as the club went to catch up on a Bayern lead three times, before having to concede to Bayern's fourth goal. In the opening game of the Bundesliga season, Bayern hosted Hamburger SV. As Hamburg caught up from two goals behind, the game finished 2–2, leaving Hamburg yet unbeaten at the Allianz Arena. After another draw at Dortmund, the succeeding week brought two squad changes for Munich, as Marcell Jansen left the club for Hamburg while Massimo Oddo was loaned out from Milan. The first league victory followed against Berlin, 4–1.
Victories at 1. FC Köln in the Bundesliga and Steaua București in the Champions League were followed up with a 2–5 loss at home against rival Werder Bremen and another away at Hannover 96 (0–1) on 27 September. Three days later, Bayern were held to 1–1 draw at home by Lyon in Champions League group play.
On 4 October, Bayern drew level with VfL Bochum, despite leading 3–1 with just seven minutes left in regulation; goals in the 84th and 85th minutes, however, saw Marcel Koller's men leave the Allianz with a point. A few days later, Bayern lost a friendly at FC Ingolstadt but proceeded to win all other games in the month, including the Champions League home game against Fiorentina.
After a victory at home against Arminia Bielefeld Bayern drew level in the Champions League at Fiorentina on 1 November. The following victory against Steaua București on 25 November qualified Bayern for the single elimination stage. In the Bundesliga, away matches at Schalke 04 and Borussia Mönchengladbach followed; while Bayern defeated rival Schalke, the club drew at Mönchengladbach, for the third time this season not winning against them, despite having led by two goals. The games at home against Energie Cottbus and away at Bayer Leverkusen were also won.
On the 16th Bundesliga matchday, Bayern defeated Bundesliga leaders 1899 Hoffenheim, thus coming very close to the top of the standings. The final match of the Champions League group stage was also won at Lyon, completing Bayern's best performance in the group stage. A draw at VfB Stuttgart was Bayern's final game before the winter break. Coincidentally Stuttgart was also Bayern's first opponent after the break. While Bayern won this cup game 5–1 away, the first league match was lost at Hamburger SV, 0–1.
After winning at home against Borussia Dortmund, Bayern lost their next two games at Hertha BSC, that thereby took the lead in the league, and at home against newly promoted 1. FC Köln. A 5–0 victory in the Champions League at Sporting CP was the final game of the month.
After a draw in the league at Werder Bremen, Bayern was eliminated from the DFB-Pokal by Bayer Leverkusen. Munich won all other games in the month, including a 7–1 in the second leg against Sporting CP, thus achieving a record aggregate of 12–1.
After 5–1 defeat in the league at VfL Wolfsburg, a direct rival for the championship, Bayern suffered another severe loss (4–0) at the hands of Barcelona. Bayern held Barcelona to a draw in the second leg a week later but was elimininated from the competition nevertheless. In the Bundesliga, Munich managed to win against underdogs Eintracht Frankfurt and Arminia Bielefeld, but a home defeat at the hands of Schalke 04 led to the dismissal of coach Jürgen Klinsmann. The club appointed Jupp Heynckes as caretaker coach and Hermann Gerland as assistant caretaker coach.
Bayern won its first three games under Heynckes as coach, defeating Borussia Mönchengladbach, Energie Cottbus and Bayer Leverkusen. A draw at 1899 Hoffenheim led to a delicate situation before the last game, where second-place Bayern hosted third-place VfB Stuttgart. While the winner of the match would be qualified for the Champions League, and even win the championship if VfL Wolfsburg lost, the loser would likely fall to fourth position, outside of the Champions League spots. As fourth-place Hertha BSC lost and Wolfsburg won, the game eventually just decided that Bayern would go to the Champions League directly while Stuttgart would go to the qualification. The season concluded with four friendly games at Kaufbeuren, Eichstätt, 1. FC Magdeburg, and Fortuna Sittard, all won by Munich.
Bayern hosted Hamburger SV in the opener of the 46th Bundesliga season on 15 August 2008. On the last day of play, on 23 May 2009, Bayern defeated VfB Stuttgart to finish second in the league. The second place qualified Bayern for the 2009–10 Champions League.
In the first round of the DFB-Pokal, Bayern faced Rot-Weiß Erfurt. The east Germans from the third tier were able to equalize three times before finally succumbing to Bayern. A victory at home against second-tier 1. FC Nürnberg followed. In the third round, Bayern managed one of their best performances of the season, winning 5–1 at VfB Stuttgart, but they lost in the next round to Bayer Leverkusen.
Bayern's Champions League season started on 17 September at Steaua București. The other group rivals were Lyon and Fiorentina. They finished the group stage undefeated in first place and eliminated Sporting CP via a record aggregate margin in the first knockout round, but then fell to Barcelona in the quarter-final. Club officials spoke of a "massive humiliation" and being "taken apart" after the 0–4 in the first leg.
EU = if holds or not a European Union passport; Country: when 2 flags, 1st flag = country that plays for internationally, 2nd flag = country of birth; N = number on jersey; P = Position (for position name, pause mouse pointer on abbreviation); Name = Name on jersey (for more extensive name, pause mouse pointer on name); Age = age on the day of the signing; Moving from = only indicate the club the player was playing before start playing for this club in this season, for the type of the moving see Status column; Moving to = only indicates the club the player is going to play next, for the type of the moving see Status column; Ends = when the player's current contract ends; n/a = Not applicable.