|Font Size -||-A+A|
Steyn captured three wickets for 31 runs from nine overs, and off-spinner Botha three for 34 from 18 overs, as West Indies, trailing by 115 runs on first innings, reached 134 for seven in their second innings at the close on the third day at Kensington Oval.
Only a typically dogged, unbeaten 57 from Shivnarine Chanderpaul, and an enterprising 25 from Shane Shillingford stood in the way of the South Africans.
The Proteas had been bowled out for 346 about 10 minutes after lunch, replying to West Indies' first innings total of 231, with left-hander Ashwell Prince finishing unbeaten on 78, and Sulieman Benn ending with six wickets for 81 runs from 46.4 overs.
Steyn then ripped away the top-order to wobble West Indies on 36 for three, before Botha delivered the blows to the middle-order that had them on their knees at 75 for six.
Steyn struck in his third over, when Dale Richards miscued a hook, and was brilliantly caught by Alviro Petersen running backwards at mid-wicket for 17.
Next delivery, he had left-hander Narsingh Deonarine caught at square cover for a first-ball duck to leave West Indies 27 for two.
In his fifth over, Steyn collected the prized scalp of West Indies captain Chris Gayle caught behind for 10 playing defensively forward to a perfectly-pitched delivery that bounced and moved away from the big left-hander.
South Africa made further inroads into the West Indies batting after the host resumed from their tea-time position of 70 for three.
Botha struck with the third ball after the break, when Brendan Nash was caught at slip for 12, and three overs later, left-arm spinner Paul Harris bowled Dwayne Bravo for two.
Botha then had Denesh Ramdin caught behind for one, and South Africa looked like they would wrap-up their second victory of the series inside three days.
But they hit a roadblock, when Shillingford joined Chanderpaul, and the pair added 53 for the seventh wicket that brought some respectability to the West Indies batting.
Botha broke the partnership in the last half-hour before the close, when he trapped Shillingford lbw.
Earlier, Ashwell Prince held things together, as South Africa suffered a lower-order batting collapse.
On a dramatic morning, South Africa wobbled, after they resumed from their overnight total of 285 for six.
Mark Boucher was run out for 17, Botha lbw for nine off Benn, and Steyn was comprehensively beaten and bowled with a delivery from Kemar Roach for four to leave South Africa 342 for nine at lunch.
Steyn's dismissal was marred by controversy, when he and Benn became embroiled in a war of words, and the South African appeared to spit in the direction of the beanpole left-arm spinner.
After lunch, Morne Morkel was caught at slip for nine to become Benn's last victim before South Africa set their sights on victory.
South Africa lead the three-Test series 1-0, after they won the first Test by 163 runs inside four days last Sunday at Queen's Park Oval in Trinidad, and the second Test was drawn at Warner Park in St. Kitts.