The third consecutive loss left Bayern five points shy of second place and automatic Champions League qualification and a full 19 points behind runaway leaders Borussia Dortmund.
Van Gaal had already indicated that defeat to Hanover, who now hold the crucial second league place, could cost him his job.
The home side took the lead on 16 minutes, as Norwegian striker Mohammed Abdellaoue latched on to an inch-perfect cross from Konstantin Rausch after a break down the left and lashed it past a helpless Thomas Kraft.
Bayern looked woefully short on confidence and barely threatened the Hanover goal in the first half, a scuffed and easily saved Arjen Robben free-kick summing up their fortunes.
And whatever van Gaal said at half-time, it had little effect as the defending champions found themselves two down after 51 minutes.
Rausch again was the architect of Bayern's downfall, drilling a piledriver of a shot towards the Bayern goal that took a slight deflection off the head of the luckless Gomez.
Bayern hit back almost instantly through their star combination of Robben and French midfielder Franck Ribery. After a goalmouth scramble, the Frenchman lifted a cross over the defence for Robben to head home.
But midfielder Sergio Pinto sealed Bayern's fate with a 30-yard shot on 62 minutes that Kraft failed to gather, the ball evading his grasp and dribbling into the net.
To add insult to injury, Bayern were forced to play the last 18 minutes with 10 men after Brazilian defender Breno saw red for lashing out petulantly after losing the ball.
Before the Hanover game, the German giants had endured a torrid few weeks in which their dreams of repeating last season's league and cup double were cruelly smashed.
First they suffered the humiliation of losing 3-1 at home to runaway title leaders Borussia Dortmund, then four days later, they were dumped out of the German Cup thanks to a 1-0 semi-final defeat to Schalke.
Hugely off the pace in the league, their hopes of salvaging the season lie in securing second place as well as in the Champions League itself where they hold a 1-0 lead over Inter Milan.
Meanwhile, Dortmund took a huge step towards their first Bundesliga crown since 2002 with a 1-0 win over Cologne on Friday night.
Poland striker Robert Lewandowski's 44th-minute strike proved enough to give Jurgen Klopp's side their 19th win of the season from 25 games as they cruise towards the title.
Bayer Leverkusen are hoping to close their 15-point gap on Dortmund as they host VfL Wolfsburg later Saturday.
At the other end of the table, VfB Stuttgart, one place off the bottom at the start of the weekend, beat ten-man Schalke 1-0.
And bottom side Borussia Moenchengladbach gave themselves some hope with a 2-0 win over mid-table Hoffenheim.
The relegation dogfight between Eintracht Frankfurt and Kaiserslautern, delayed after crowd violence, ended 0-0.
Meanwhile, four goals by German striker Christian Eigler was enough to secure three points for Nuremberg in their mid-table clash with St. Pauli, who are not yet far enough away from the drop zone for comfort.