Haddin clubbed a career-best 154 from 162 balls and struck 22 fours and four sixes to spearhead NSW to 373 for seven at stumps on day two in reply to Victoria's 235 on Wednesday. NSW led by 138 with two days to play.
Haddin came in before lunch with his side five wickets down and still needing 131 runs for first innings points, but four hours later he departed with his side more than 100 in front.
From 105 for five and in trouble, Haddin and captain Simon Katich (78) put on 104 for the sixth wicket before the latter fell lbw to the part-time offspin of Brad Hodge.
But NSW off-spinner Jason Krejza held up an end and allowed Haddin to smash his third 50 from 38 balls as the Blues earned two innings points in the process. Krejza finished on 57 not out.
Leg-spinner Cameron White finished with 3-102 from 25 overs.
In Melbourne (day two): Victoria 235 (J. Moss 114, M. Elliott 58; S. MacGill 4-103, M. Nicholson 3-47) v New South Wales 373 for 7 (B. Haddin 154, S. Katich 78, J. Krejza 57 not out; C. White 3-102).