Bayern found themselves down to 10 men as they suffered their first league defeat in 2025 on Saturday.
But Leverkusen's loss means they remain eight points ahead of the champions, who had their unbeaten run of 22 Bundesliga games ended in the setback against Bremen while also losing Florian Wirtz to injury.
Borussia Dortmund also had a disappointing weekend with a 1-0 defeat at home to Augsburg.
Elsewhere, St Pauli scored their first goal since February 1 but drew 1-1 at VfL Wolfsburg, while 10-man VfB Stuttgart were lucky to leave Holstein Kiel with a 2-2 draw and Freiburg played out a goalless draw with RB Leipzig.
In honour of the club's 125th birthday on February 27, Bayern debuted a new stadium hymn and the fans prepared a stunning tifo across the entire Allianz Arena.
It looked like they were set to also celebrate a win as Raphael Guerreiro broke the deadlock in the 14th minute. Serge Gnabry missed a penalty in the 22nd, but Guerreiro was again on target to give a rotated Bayern line-up a 2-0 lead by the half-hour mark.
But the tide started to turn in the 31st as Jakov Medic pulled one back for Bochum and Bayern were down to 10 men after Joao Palhinha was sent off before the break.
Palhinha was shown red for an unintentional but dangerous foul on Georgios Masouras in a challenge for the ball.
Bochum didn't need much time to take advantage and were level through Ibrahima Sissoko in the 51st, while Matus Bero completed the fantastic turnaround in the 71st.
The win, however, still didn't take Bochum out of the drop zone and they remain in the relegation play-off spot in 16th.
Leverkusen couldn't take advantage of Bayern's setback with Romano Schmid giving Bremen the lead in the seventh minute.
Bremen had two more goals ruled out for offside in the 30th and 65th, while Leverkusen got close to an equaliser shortly before the break as Alex Garcia's free-kick hit the crossbar.
But Bremen had the final word and sealed the win in the fourth minute of stoppage time through Justin Njinmah.
As if things weren't bad enough, Leverkusen saw their star Wirtz limping off the pitch and he's now a doubt for the second leg of the Champions League last 16 tie against Bayern on Tuesday as they seek to recover from a 3-0 first-leg reverse.
Wirtz was brought on for the second half but returned to the bench after only eight minutes following a foul from Mitchell Weiser.
After a disappointing 1-1 draw with Lille in the Champions League last 16 mid-week, Dortmund's woes continued.
Jeffrey Gouweleeuw finished off a free-kick in the 23rd with a stunning header to give the visitors their eventual winner.
Julian Brandt thought he had levelled but his goal in the 51st was ruled out for offside, while Augsburg also had a goal disallowed in the 61st.
Dortmund remain 10th but are now seven points behind Eintracht Frankfurt, who sit in the last spot for Champions League qualification.