Haddin, who resumed Saturday on 29, scored his next 71 runs off 77 balls to reach his century. He finished on 114 as NSW gained an innings lead of 96 after Tasmania had made 276.
Nicholson then clean-bowled three of Tasmania's top-order batsmen to have them on 167 for six at stumps, leading by just 71 heading into Sunday's last day.
Nicholson finished the day with 4-59 after claiming 3-3 in a three-over burst -- removing Rhett Lockyear (20) lbw and bowling George Bailey (0) and Michael Dighton (42).
Spinners Stuart MacGill and Jason Krejza chipped in with a wicket apiece, Krejza claiming Michael Bevan (12) for the second time in the match.
NSW are chasing a fourth outright victory which will put them on top of the Shield standings, ahead of Queensland.