Holder, who scored an unbeaten 54 from 88 balls, saw the Proteas build a significant advantage and end the day at 223-5 in their second innings.
Opener Aiden Markram (51) and Kyle Verreynne (50) were key performers for South Africa. Unlike the first day, which saw 17 wickets fall, both teams managed to stabilise.
The Proteas were initially bowled out for 160 in their first innings, with Holder's half-century helping the Windies recover from a precarious 97-7 in the 28th over.
With a slim 16-run lead heading into their second innings, Markram and Tony de Zorzi put together a solid 79-run opening partnership before de Zorzi was dismissed for 39. Markram's wicket triggered a mini-collapse, with South Africa losing three wickets for just 19 runs.
Despite this setback, Verreynne and Wiaan Mulder (34 not out) managed to stabilise the innings with an important 84-run stand for the sixth wicket.
South Africa will resume on day three with Verreynne and Mulder at the crease.
Holder remains hopeful about his team's chances. "I was just trying to eke out as many runs as we could," said Holder at the end of the day. "The first session tomorrow is obviously crucial for us. The most important thing is not to let the runs get too far away, let them sweat a little bit more for their runs, and I believe, with the amount of time left in the game, that we can chase anything they give us."
Day Two Summary
The day's play ended with South Africa leading by 239 runs.
The match has seen some excellent cricket so far, setting up an intriguing third day.
The West Indies will need to produce something special to turn this match around. With Holder's positive outlook and strategic approach, they remain in contention despite South Africa's strong position.