Amla made 208 and the left-handed Van Zyl hit an unbeaten 101 before Amla declared half an hour before the scheduled tea break, with the interval being taken early.
It was another day of suffering for a depleted West Indian bowling attack.
Left-arm spinner Suleiman Benn ended a South African record fourth wicket stand of 308 between Amla and AB de Villiers when De Villiers sliced a drive to point after making 152 off 235 balls with 16 fours and two sixes.
The West Indies were without fast bowler Kemar Roach, who left the field on Monday afternoon after injuring his right ankle.
Also Read
A team spokesman said scans had revealed no significant damage and it was hoped he would be able to bowl later in the match.
Roach's injury left the tourists with only three front-line bowlers, with Jerome Taylor and Sheldon Cottrell providing pace and Benn needing to tie up one end with spin.
Both Taylor and Cottrell bowled with more control than they had on the first day, with Taylor in particular concentrating on a line outside the off stump with only two fielders on the leg side.
Van Zyl started cautiously and was troubled by the tall Benn early on, giving a sharp, low chance to Kraigg Brathwaite at leg gully when he had two.
But he quickly settled in and played some handsome drives on the off side as he reached a maiden Test half-century off 74 balls with eight fours.