Latham was on 119 not out with Henry Nicholls on 35 with New Zealand still trailing Bangladesh by 303 runs.
The Tigers had declared their first innings closed at 595 for eight before lunch, shortly after Sabbir Rahman had brought up his second Test half century.
Sabbir was 54 not out when captain Mushfiqur Rahim brought his side's innings to a close about an hour into the day's play.
Mushfiqur (159) and Shakib Al Hasan (217) had essentially batted New Zealand out of the Test with a record partnership of 359 runs for the fifth wicket on Friday.
Mushfiqur, who is also the wicketkeeper, did not take the field on Saturday after being struck in the hands twice while batting, with Imrul Kayes taking the gloves and Tamim Iqbal leading the side in his absence.
Tamim produced something of a surprise with off-spinner Mehedi Hasan opening the bowling and while he got some drift in the blustery northerly wind and some turn from the Basin Reserve wicket he was unable to make an early breakthrough.
Latham and Jeet Raval (27) put on 54 for the first wicket before Kamrul Islam had Raval caught by Imrul just before the lunch break.
Captain Kane Williamson looked keen to get his side scoring quickly in an effort to drive the game on after the break as he raced to his 25th half century, but fell shortly afterwards for 53 when he became Taskin Ahmed's maiden Test wicket.
Nicholls and Latham, who brought up his century with three runs off his hip, then safely negotiated the rest of the day.