Harry Kane scored his 36th Bundesliga goal of the season but Bayern Munich lost 3-1 against Stuttgart at the MHPArena.
The England captain levelled from the spot in the 37th minute after Serge Gnabry was fouled.
Stuttgart opened the scoring inside half an hour after Leonidas Stergiou slotted home his first Bundesliga goal.
Jeong Woo-yeong put Stuttgart back in the lead late on before Silas secured a famous win in stoppage time.
The tempo dropped from Thomas Tuchel's side in the second half with Wednesday's Champions League semi-final second leg clash with Real Madrid fast approaching.
Stuttgart, who move to within two points of Bayern in second, controlled much of the possession and pressed the Bavarians throughout the 90 minutes.
With Sebastian Hoeness' side on the front foot, Bayern countered with Eric Maxim Choupo-Moting racing through on goal but meekly putting his effort wide.
Former Bayern player Jeong headed Silas' cross in from close range, leaving Neuer helpless.
With seconds remaining, Silas put the three points beyond doubt with a brilliant right-footed finished beyond Bayern skipper Neuer.
Kane's goal takes him five behind Robert Lewandowksi's record of 41 in a Bundesliga season with two games to go.
Stuttgart's win was the first time they have beaten Bayern at home since 2007 as they strengthened their grasp on a Champions League spot.