The match featured two rain delays and multiple medical timeouts for Norrie as he dug deep to set up a last-32 clash with world No 11 Casper Ruud.
It’s just the third time Norrie has come back from two sets down to win at a Grand Slam in his career.
Zeppieri made a flying start by taking the first set in 32 minutes and broke early in the second, only for Norrie to break back as he requested a medical timeout.
At 6-5 up on the Zeppieri serve, Norrie was 0-30 ahead but lost the next four points which forced a tie-break. Zeppieri dominated the tie-break and was on course to upset the Briton.
There were two rain delays in the middle and at the end of the third set which Norrie won as momentum changed. A fresh Norrie broke at the start of the fourth and held serve despite needing more treatment in the middle of the set.
In the decider, Zeppierei got a break point chance in the third game but Norrie saved it and got a break of his own when it mattered most to go 5-4 up, then held serve to book a place in the last 32 in Melbourne for the third time in his career.