The Proteas closed on 405 without loss with Smith and McKenzie just nine runs short of beating the record opening partnership in Test history, set by India’s Pankaj Roy and Vinoo Mankad against New Zealand in Chennai in 1956.
Captain Smith led the way, reaching 223 at stumps, with McKenzie unbeaten on on 169.
The odds are on Smith and McKenzie to achieve the feat, though, against a toothless Bangladesh attack.
“There are a lot of boys in there happy we won the toss,” said Smith. “When we got to 400 I said to Neil, ‘I never thought I would be a part of a 400-run opening partnership’.”
McKenzie added: “I am really chuffed. I knew if I got in I had a chance.”
The onslaught started early with the tourists racing to 92 by lunch as they saw off the new ball with few alarms on a benign pitch.
If the home side thought the afternoon session would see a break in concentration from Smith and McKenzie, they were mistaken, with South Africa upping the tempo.
Smith, leading South Africa for a record 54th time, completed his 14th Test century and also brought up his 5,000th run in the longer form of the game.
On a day of landmarks, his double century was his fourth, another South African record.
McKenzie played the supporting role yet his innings was arguably more significant. Looking to regain a regular place in the side, he patiently progressed to his third Test ton, seven years after his previous one.
He did offer a return chance to Mohammad Rafique when on 131 but, that apart, played beautifully.
Bangladesh pushed South Africa all the way in the first Test, holding their own until the third day when the Proteas pulled away.
But here they were hopelessly outclassed. Only slow left-armer Shakib Al Hasan emerged with any credit, his 10 overs going for just 33.