The visitors kicked off bottom of the table, with Birmingham club Aston Villa having won their last 15 home games in the Premier League.
But Cameron Archer, sold by Villa to the Blades in pre-season, stunned the home fans at Villa Park by opening the scoring in the 87th minute with a close-range shot. Substitute Zaniolo rescued a point for Villa with a header seven minutes into stoppage time.
Villa needed a win to go top of the EPL for the first time since 2011, having not led the table at this stage of the season for 25 years.
But they remained behind leaders Arsenal on goal difference despite dominating possession and having the better of the game's chances.
Leon Bailey had the ball in the net early in the second half but it was ruled out by the video assistant referee, with VAR also rejecting three Villa penalty claims.