Bravo's stroke-filled 102, which earned him the "Man of the Match" award, anchored an impressive recovery from 21 for four to lift the West Indies to 285 all out off 49.5 overs batting first at Kensington Oval yesterday.
Gabriel, in just his second ODI, then tore through the Proteas' vaunted top-order, taking the wickets of Quinton de Kock, Faf du Plessis and captain A B de Villiers in the space of four fearsome overs.
"I've been getting starts in this series without really carrying on," said Bravo after the match. "I worked extra hard in the nets yesterday and things just worked out for me today with the support of Polly (Kieron Pollard)."
With their second win in three matches against the Proteas in the tournament, the hosts advance to face World Cup-holders Australia in the final on Sunday at the same venue. It is also the first time in ten years that South Africa have failed to reach the final of a tri-nation ODI series.
More From This Section
West Indies were themselves rocked back at 21 for four when pacer Kagiso Rabada led the assault after de Villiers chose to field. However Bravo's third one-day century, embellished with 12 fours and four sixes off 103 deliveries, proved invaluable. He found an able partner in Kieron Pollard, who curbed his usual all-out aggression in compiling 62 off 71 balls.
indiscipline, he should have still claimed the important wicket early on of Bravo who, on 11, top-edged an attempted hook only for Wayne Parnell to misjudge the catch at fine-leg and parry the ball over the boundary rope.
"I don't know what went wrong with our disciplines today, it's like we didn't turn up," a disappointed de Villiers observed. "Credit to the West Indies for their recovery but we didn't play anything like our best here."
Imran Tahir, who routed the West Indies in their last meeting in St Kitts with record-breaking figures of seven for 45, was kept wicketless through his ten overs for the first time in ODI cricket against these opponents.
Generating tremendous pace, Rabada induced an edge from the other opener, Johnson Charles, for Chris Morris to take a comfortable catch at second slip. He then uprooted Marlon Samuels' off-stump first ball to have the West Indies tottering at 12 for three.
Ramdin avoided the hat-trick but subsequently succumbed to the lethal hostility of the 21-year-old fast bowler, first ducking into a short ball to take a blow on the back of the helmet before being comprehensively bowled off the next delivery.
Morris claimed three wickets at the end of the innings with West Indies captain Jason Holder (40) and Carlos Brathwaite (33 not out) pushing the home side to a challenging final total.