Bayer Leverkusen lost 1-0 to Union Berlin as their winless run stretched to four games.
Teuchert, who had hit the woodwork early in the second half and missed another chance on the hour, scored on the break in the 88th to give his team a deserved win against lacklustre Leverkusen, now without a win in their last four games.
Haaland double earns Dortmund win over Leverkusen in season finale
Leverkusen had a good chance in the first half with Nadiem Amiri but found it difficult to crack open Union's solid defence and were punished for their lack of pressure.
Union, who hit the woodwork twice, are on 28 points in fourth place after their sixth straight game without a loss, one point behind third-placed Leverkusen, who have managed just one point from their last four games.
Bayern see off Leverkusen to go within touching distance of title
Man City battle Chelsea and Leeds for Tagliafico - Paper Round