Former England batsman Gary Ballance made an unbeaten century to lead a Zimbabwean fightback on day four of the first Test in Bulawayo.
Day four started with Zimbabwe 114-3 off 41.4 overs, trailing the Windies by 333 runs.
The Zimbabweans were in further trouble when half-centurion Innocent Kaia was struck plumb in front by Alzarri Joseph for 67.
Wicketkeeper Tafazdwa Tsiga then joined Balance at the crease, facing five balls and making only two before Joseph dismissed him in a similar fashion, leaving Zimbabwe 132-5 after 51 overs at that point.
Brad Evans then made his way to the middle and added a further 15 runs with Balance before he was caught behind off the bowling of Kemar Roach for seven.
The fall of that wicket was the start of somewhat of a revival for Zimbabwe as Wellington Masakadza then joined Balance at the crease.
The pair put on a partnership of 45 for the seventh wicket, more importantly, batting for 24 overs and four balls in the process.
This pair worked and frustrated the West Indian bowlers, something that the next pair capitalized on as Balance and Brandon Mavuta, who took his maiden five-wicket haul in Tests in the West Indies first innings, put on what may very well be a match-saving 135-run eighth-wicket partnership.
Mavuta, who had a previous highest Test score of six, made his maiden half-century off 107 balls before being bowled by Jason Holder for 56 off 132 balls just after the tea break.
Just before tea, Ballance brought up his maiden Test hundred for Zimbabwe, having previously making four for England, off 190 balls.
After Mavuta was dismissed, Ballance had partnerships of 14 with Victor Nyauchi, who made 13, and 38 with Richard Ngarava, who finished 19*, as the hosts declared on 379-9 off 125 overs, trailing the West Indies by 68 runs.
Ballance finished not out on 137 from 231 balls, hitting 12 fours and two sixes.
Alzarri Joseph led the way with the ball for the Windies with 3-75 off his 26 overs. Gudakesh Motie and Jason Holder also bagged two wickets each.
At stumps, the West Indies were 21-0 off 13 overs in their second innings with Kraigg Brathwaite on 11 and Tagenarine Chanderpaul on 10.
Scores: West Indies 447-6 declared off 143 overs (Tagenarine Chanderpaul 207*, Kraigg Brathwaite 182, Brandon Mavuta 5-140) and 21-0 off 13 overs (Kraigg brathwaite 11*, Tagenarine Chanderpaul 10*)
Zimbabwe 379-9 off 125 overs (Gary Ballance 137*, Innocent Kaia 67, Brandon Mavuta 56, Alzarri Joseph 3-75, Jason Holder 2-55, Gudakesh Motie 2-110)