World No.2-ranked batsman Smith fended a bouncer from Wagner (2-58 off 30 overs) to gully where he was caught for 85, having taken more than an hour on Friday to add only eight runs to his overnight score.
Smith's patient, 242-ball innings included eight fours and one six. The right-hander was out 15 runs shy of scoring a fifth hundred in five Melbourne tests, after reaching triple figures in 2014, 2015, 2016 and 2017, then missing last year's Melbourne test through suspension.
Travis Head, who looked uncomfortable against a barrage of short balls, reached his own gritty half-century off 109 balls, including five fours.
Incoming batsman Tim Paine was prepared to attack against the short ball and advanced quickly to 33 not out from 45 deliveries in a sixth-wicket stand of 52 with Head (57 not out).
Australia had resumed on Friday's second day of play on 257-4. New Zealand captain Kane Williamson had won the toss on Thursday and elected to bowl first in a bid to take advantage of the green-topped pitch and overcast conditions.
However, after the loss of Joe Burns (0) who was bowled by Trent Boult in the opening over, Australia consolidated as David Warner (41), Marnus Labuschagne (63) and Matthew Wade (38) battled hard on what Smith labelled a "difficult wicket".
Australia leads the three-match series one-nil after claiming a 296-run win over New Zealand in the first test in Perth. The final test will be played in Sydney starting on Jan. 3.