It was a second major upset in three days at the marquee tournament after Afghanistan shocked defending champions England on Sunday.
In a match marred by rain, Netherlands had a superb outing as they thrashed the one of tournament favourites by 38 runs for their first ever ODI World Cup win.
The victory was Netherlands first-ever against the Proteas and also their maiden World Cup victory against a Test playing nation in the 50-over format.
Chasing 246 to win, South Africa were bowled out for 207 in the shadow of the Himalayas.
As It Happened
It was the second time in a year that the Dutch overwhelmed South Africa. In November last year, the Dutch sent South Africa crashing out of the Twenty20 World Cup in Australia.
Put in to bat in challenging conditions after the rain reduced the contest to 43 over a side, the Netherlands found themselves reeling at 140 for seven before their captain Edwards staged a remarkable recovery with an unbeaten 78 to take his side to a fighting 245 for eight.
With the pitch offering variable bounce and some turn, the Netherlands sniffed an opportunity against a formidable South African batting unit which crumbled under pressure.
Until Tuesday, the Netherlands had only beaten fellow associate nations Namibia and Scotland in their World Cup history, having made their debut back in 1996.
The surprise outcome came 48 hours after Afghanistan shocked defending champions England in Delhi, adding to the unpredictability of the 10 team competition.
The Netherlands, who qualified for the their first World Cup since 2011 by finishing second in the Qualifier earlier this year, have shown significant improvement over the years.
The Dutch had humbled the Proteas in T20 World Cup 11 months ago and at the scenic Dharamsala on Tuesday, they recorded another famous win over them in a less unpredictable format.
At the start of the tournament, Bas de Leede, one of the few full-time cricketers in the team, had expressed delight at cricket being shown live on TV back home after four years. After a landmark performance, he and his team are likely to attract more followers in a football mad nation.
With the Netherlands reducing South Africa to 109 for six, only David Miller (43) stood between them and a memorable win.
De Leede dropping a regulation catch off Miller in the deep raised the nerves in the field and in the dressing room but their fate was sealed in the 31st over when the dangerous left-hander was bowled by pacer Logan van Beek.
Paul van Meekren, who has also worked as an Uber Eats delivery boy, got the crucial wickets of Aiden Markram and and Marco Jansen with two cross seam balls shattering their stumps.
Spinners Colin Ackermann (1/16) and Roelof van der Merwe (2/34), who made his international debut for South Africa before shifting allegiance to the Netherlands, also played a major role in the team’s success.
Ackermann got rid of the in-form Quinton de Kock before van der Merwe found Bavuma’s stumps with a brilliant arm ball as South Africa felt the heat inside the powerplay.
Earlier, intermittent rain added an extra chill in the mountain air.
South Africa expectedly opted to bowl amid the overcast sky and their bunch of formidable pacers including Kagiso Rabada, Marco Jansen and Lungi Ngidi got a lot out of the surface.
However, their death overs bowling left a lot to be desired as the Netherlands plundered 68 runs in the last five overs. The Netherlands were struggling at 140 for seven in the 34th over.
Edwards shared an entertaining 64-run partnership off 37 balls with van der Merwe (29 off 19) towards the end of the innings to take the team past 200.
South Africa’s pace attack is among the potent ones in the competition and the Dutch top-order found them too hot to handle. Aryan Dutt’s unbeaten 23 off nine balls also propped up the total.
Rabada struck in his very first ball of the match as Vikramjit Singh (2 off 16) could not control the pull shot off a delivery that hurried on to him.
Vikramjit’s opening partner Max O’Dowd (18) departed six balls later as the tall left-arm pacer Jansen induced a faint edge off his bat with an angled away delivery.
Star all-rounder Bas de Leede (2) was trapped in front by Rabada, who got the ball to cut back sharply from length.
The pacers also took a flurry of wickets in the middle overs before Edwards and former Proteas star Van der Merwe went on a counter offensive.
Edwards hit 10 boundaries in total and a six via a cracking pull shot off Rabada. Edwards also employed the sweep and reverse sweep against spinner Keshav Maharaj to good effect.
Number 10 Dutt joined the party and smashed three sixes to provide the final flourish.
Breaking: T20 cricket to be part of 2028 Los Angeles Olympics as IOC approves proposal
South Africa were also guilty of conceding 31 extras.
(With inputs from PTI)