De Zorzi out for 177 as S. Africa power to 527-6 against Bangladesh
Wiaan Mulder, on 78, and Senuran Muthusamy, with 47, were batting at the break in Chattogram in a partnership of 104.
Ryan Rickelton was the only batsman to fall in the second session when he edged a Nahid Rana delivery shaping away from his body to the wicketkeeper, departing for 12.
Left-arm spinner Taijul Islam pegged back the visitors in the morning with three wickets in three overs.
He flattened David Bedingham's leg stump to end a 116-run stand for the third wicket with De Zorzi with the score on 386.
Bedingham departed after a brisk 59 off 78 balls that contained two fours and four sixes.
His wicket prompted a mini-collapse as De Zorzi swiped across the line and was trapped lbw by Taijul to leave South Africa 391-4.
Wicketkeeper Kyle Verreynne, who made a century in the first Test win in Mirpur, lasted just three balls before being out without adding to the score, also leg before.
It gave Taijul his second five-wicket haul of the series.
De Zorzi had resumed on 141 out of South Africa's first-day 307-2 after they won the toss and opted to bat on a pitch offering little help to the bowlers.
Having scored his maiden Test century on day one he soon brought up his first 150 off 235 balls with an 11th four.
In all, the opener scored four sixes and 12 fours in his 269-ball knock.
Tristan Stubbs also struck a maiden Test century on Tuesday before departing for 106.
South Africa won the opening Test inside four days with fast bowler Kagiso Rabada taking 6-46 in the second innings.
Bangladesh have played 24 Tests in Chattogram but won only two with seven drawn.