Sheffield har varit en av de stora överraskningarna den här säsongen, men efter återstarten har det bara blivit ett kryss och tre raka förluster.
Tottenham dominerade bollinnehavet matchen igenom, men det var Sheffield som skulle ta ledningen.
I den 31:a minuten tryckte Sander Berge in bollen för hemmalaget. Norrmannens första i den rödvita tröjan och Sheffields första i Premier League sedan 1–0-vinsten mot Norwich den 7 mars.
Tottenham vaknade till liv och kvitterade minuten senare, men målet dömdes bort efter en tveksam hands på Lucas Moura.
I andra utökade Sheffield till både 2–0 och 3–0 genom Lys Mousset och Oliver McBurnie.
Harry Kane reducerade i 90:e, assisterad av Son Heung-min.
Vinsten innebär att Sheffield klättrar upp på sjunde plats i Premier League. Till Manchester United som ligger på den sista Europa League-platsen skiljer det fem poäng.