Zimbabwe and their veteran batter Sean Williams created Test records on Friday against Afghanistan, who trailed by 491 runs after the second day of the first Test in Bulawayo.
Resuming on 363 for four, the home side were all out for 586 at Queens Sports Club in the southern city.
Afghanistan were 95 for two off 30 overs in reply when bad light stopped play.
The Zimbabwe first innings total was their highest in a Test, bettering 563 for nine against the West Indies in Harare 23 years ago.
It was the sixth Zimbabwe innings to exceed 500 runs.
Having made 145 runs on the first day, Williams added nine more before being caught by Rahmat Shah close to the boundary line off a Naveed Zadran bouncer.
His 154 overtook a previous best of 151 not out, also against Afghanistan, in Abu Dhabi three years ago.
Williams, batting at No. 4, struck three sixes and 10 fours off 174 balls in a 266-minute stand in the city where he was born.
It was his fourth century in six Tests.
His partnerships included 163 for the fifth wicket with captain Craig Ervine, who went on to make 104, including 10 fours, before his inside edge was snapped up by wicketkeeper Afsar Zazai.
“If I can lead by example and not by talking I believe my young teammates will learn quickly,” said 38-year-old Williams.
Zimbabwe fielded three debutants, including 68-run opener Ben Curran, and three others are making just their second Test appearances.
Middle-order Brian Bennett was another Zimbabwe centurion, hitting a brisk unbeaten 110 that included four sixes and five fours.
Teenage spinner Allah Ghazanfar was the most successful Afghanistan bowler, but his three wickets proved expensive as he conceded 127 runs.
The Afghanistan innings began disastrously with Test newcomer Sediqullah Atal out for three in the second over after a Trevor Gwandu delivery uprooted his middle stump.
Fellow opener Abdul Malik was dismissed for 23 before Shah patiently built an unbeaten 49 that included a six and five fours.
Captain Hashmatullah Shahidi was 16 not out.
Both teams are seeking a first Test victory since beating each other three years ago.
BRIEF SCORES (First Test, Day 2)
Zimbabwe 586 in 135.2 overs (Sean Williams 154, Brian Bennett 110 not out, Craig Ervine 104, Ben Curran 68; Allah Ghazanfar 3-127) v Afghanistan 95-2 in 30 overs (Rahmat Shah 49 not out). Bad light stopped play
Toss: Zimbabwe
Zimbabwe players celebrate a wicket during their second day of the first Test against Afghanistan at Bulawayo on Friday. (@ZimCricketv)