Just 61 overs were possible as rain wiped out most of the final session, but that was still enough time for Masakadza to register an unbeaten 101 and drag Zimbabwe out of a hole.
The home side slumped to 14 for three after winning the toss and electing to bat first, as fast bowlers Kemar Roach and Shannon Gabriel struck with the new ball.
In cloudy conditions it took Roach just two overs to make the first breakthrough as he had Solomon Mire caught behind, and Craig Ervine and Brendan Taylor soon followed when they were bowled by Gabriel and Roach respectively.
But he duly dug in for a 142-run stand for the fourth wicket with Masakadza, putting Zimbabwe back in a match that they must win to earn a share of the series.
Also Read
"I actually had quite a bit of fun batting with Peter today, because he brought a lot of energy and he was very positive. I fed quite a bit off that," said Masakadza.
The opener was fortunate to survive in the 11th over of the day, when he was caught at gully off Gabriel before replays revealed a no-ball. Masakadza was on 15 at the time.
Masakadza went to three figures soon after, reaching his fifth Test century more than 16 years after recording his first one on debut against the same opponents.
"He had a bit of luck with the no-ball, but he's certainly played well. He hits the ball well and on wickets like these he's tough to contain as well," said West Indies coach Stuart Law.
Disclaimer: No Business Standard Journalist was involved in creation of this content