In reply to Australia's formidable 559 for nine declared on a placid wicket, the Kiwis were 249 for two at lunch, still trailing by 310 runs but looking well-placed to at least save the match.
Williamson was in total control and was unbeaten on 120, with Ross Taylor riding his luck a little to be 82 not out.
The pair had added 162 for the third wicket.
There were just 24 overs bowled in the day's first session, due to an embarrassing 17-minute delay resulting from a sightscreen malfunction.
Also Read
He had only one anxious moment on his way to his 12th Test century, when he edged the first delivery from Mitchell Starc after the sightscreen delay, but it fell just short of Steve Smith at first slip.
Williamson despatched Mitchell Johnson to the boundary from the 158th ball he faced to reach triple figures, having hit 16 boundaries in the process.
The 25-year-old has made centuries in five of his last seven Tests, against Pakistan, Sri Lanka, England and Australia.
Taylor was a little less sure at the crease and flirted with disaster on a couple of occasions, but was closing in on his 13th Test hundred.
It would be a welcome milestone for the classy Taylor, who has been struggling with his form for some time and has not scored a Test century since November last year.