The hosts thought they had secured a crucial three points deep into stoppage time when Yussuf Poulsen headed in but his effort was ruled out for handball after a VAR check.
Victory would have moved second-placed Leipzig to within two points of Bayern but they were left frustrated.
The hosts barely created a chance before the break and though they livened up in the second half they never really looked threatening against a disciplined Hoffenheim.
Leipzig poured on late pressure with substitute Alexander Sorloth blasting over and when Poulsen headed home in the 95th minute it seemed the title race was well and truly back on.
But the draw left Leipzig on 61 points from 29 games, four points behind Bayern who face VfL Wolfsburg away on Saturday.
Hoffenheim moved up a place to 11th.