Afghanistan have lost three early wickets in their second innings, still trailing Zimbabwe by 40 runs, when bad light brought an early close to play on the second day of the second Test at Queens Sports Club.
Zimbabwe quick bowler Blessing Muzarabani removed openers Abdul Malik and debutant Riaz Hassan cheaply in the last session on Friday to give his side the advantage, before captain Hashmatullah Shahidi was clean bowled by Sikandar Raza for 13.
The early inroads left the visitors on 3-46 in their second knock, after Zimbabwe had earlier been dismissed for 243, which had given them an 86-run first-innings advantage.
Afghanistan had been inserted on Thursday's opening day, only to be bowled out for 157.
Zimbabwe pushed home their advantage with captain Craig Ervine top-scoring with 75 after featuring in two profitable partnerships with Sikandar (61) and Sean Williams (49).
Rashid Khan, who missed the first Test, took 4-94.
The strip used for the second Test contrasted starkly with the wicket for the first match at the same Bulawayo venue.
The first Test ended in a tame draw on Monday with Zimbabwe scoring a record 586 in their first innings and Afghanistan also amassing their highest Test total of 699 in reply.
The five days of the first Test saw only 24 wickets fall but the second match has already seen 23 dismissals in the first two days.