The Proteas reduced their opponents to a below-par total of 203 all out, and looked at ease throughout the chase, reaching their required target for the loss of just one wicket. The defeat was a damaging blow for Sri Lanka, whose slim chances of qualifying for the semi-finals are now hanging by the thinnest of threads.
There were a handful of eye-catching performances - particularly from the more experienced campaigners - which went a long way in determining the final outcome. Here's a look at the top five of them:
1. Faf du Plessis
The Proteas skipper's form could be described as solid rather than outstanding before today's game, where he really showed his full capabilities with the bat. His unbeaten 96, which included 10 fours and a six, is enough to see him placed 11th in the leaderboard for most runs.
Now averaging a shade over 46 in ODIs, the 34-year-old will be hoping to produce a similar display when his side play their final game of the tournament against Australia at Old Trafford next Saturday.
2. Dwaine Pretorius
Playing for the first time since the tournament's curtain-raiser against England, Pretorius put in a mighty impressive display to finish with figures of 3-25 from his 10 overs.
Removing Kusal Perera, Avishka Fernando and Kusal Mendis, Pretorius helped bring his side back into the contest after Sri Lanka had got off to a fast start.
Completing his full quota of overs while going at just 2.5, he played a vital role in helping to keep the Sri Lankan total down.
3. Hashim Amla
With just 123 runs in six innings to his name prior to today, the South African great has come in for a fair amount of criticism for failing to make big scores at the top of the order. He went some way to silencing his critics after his unbeaten knock of 80 helped see his team over the line today.
Averaging just under 50 in ODIs, this looks likely to be Amla's final World Cup, so he will have been pleased to contribute to this win. He will hope to go out with a bang against Afghanistan next week.
4. Chris Morris
The Proteas quick took his wickets tally for the tournament to 12 after a positive showing where he picked up three scalps at under five an over.
Morris took the valuable wicket of Angelo Mathews, who scored 85 against England last week, to halt Sri Lanka's progress. He then returned in his second spell to remove Jeevan Mendis for 18, before bringing the innings to a close with the dismissal of Lasith Malinga.
5. Avishka Fernando
From a Sri Lankan batting line-up which saw a lot of players get starts but fail to kick on and make a sizable contribution, Fernando's 30 was at least entertaining to watch.
Striking at better than a run-a-ball, he departed with his side 67-2 in the 10th over - a seemingly strong position.
His score - matched by opener Kusal Perera - would turn out to be the highest that a Sri Lankan batsman could manage, as they were eventually bowled out for 203.