In the day’s other game in Brisbane, Bangladesh held on to beat Zimbabwe by three runs in the Group 2 clash after a dramatic last over that produced two wickets and an unusual no-ball that meant the last delivery had to be re-bowled.
In the Western Australian capital, Ngidi was named player of the match for helping South Africa beat India in an ICC event for the first time since 2011.
“It has always been my dream to put in a performance like that in a World Cup. But it got pretty nerve wracking ‘till the end. I will cherish this performance for a long time,” said the fast bowler.
Opting to bat, India ran into Ngidi who ripped up its batting order with a four-wicket burst.
Rohit Sharma (15) top-edged after facing a short ball barrage while Lokesh Rahul (9) was caught at slip four balls later.
Kagiso Rabada held two tricky catches at fine leg to help dismiss both Virat Kohli (12) and Hardik Pandya (2).
India was rocked by pace and bounce, reduced to 49-5 in 8.3 overs. Anrich Nortje (1-23) dismissed Deepak Hooda (0) for a three-ball duck in between.
Yadav provided resistance with a counter-attacking half-century off 30 balls. He smacked six fours and three sixes to resurrect the Indian innings and put on 52 runs off 40 balls with Dinesh Karthik, who only contributed six runs to the sixth-wicket partnership.
Then Wayne Parnell initiated a double breakthrough, sending back Karthik and Ashwin (7) as India floundered again.
Yadav’s dismissal in the 19th over reduced India to 127-8, and it finished with a below-par score on a bowler-friendly surface.
In response, Arshdeep Singh hit South Africa’s top-order hard. He had Quinton de Kock (1) caught at slip and then trapped Rilee Rossouw lbw for a two-ball duck.
South Africa went from 3-2 to 24-3 as Mohammed Shami had Temba Bavuma (10) caught behind.
But Markram and Miller resisted the flow of wickets, adding 76 runs off 60 balls for the fourth wicket.
Markram hit six fours and a six to bring up his half-century off 38 balls.
He survived two major chances. Virat Kohli dropped him in the deep off Ravichandran Ashwin in the 12th over, and Sharma missed an easy run-out thereafter.
Miller reached his half-century off 40 deliveries, upping the ante with four fours and three sixes.
Yadav finally held a catch to dismiss Markram, but it was too late. Ashwin also trapped Tristan Stubbs (6) lbw to make it 122-5.
Despite the breakthrough, India had no response for the calm Miller who finished off the game with two balls to spare.
In Brisbane, Bangladesh, with four competition points from three games, moved past Zimbabwe with a dramatically narrow win in warm, sunny conditions.
Opener Najmul Hossain Shanto scored 71 from 55 balls in Bangladesh’s total of 150-7.
Taskin Ahmed (3-19) and Mustafizur Rahman (2-15) combined to skittle Zimbabwe’s top order but finished their full allocation with three overs to spare, leaving a chase of 40 off 18 balls.
Sean Williams (64) and Ryan Burl (27 not out) took it close, but couldn’t get Zimbabwe over the line.
Spinner Musaddek Hossain held his nerve twice, in particular after the players were recalled to the field to re-bowl the last delivery, and helped restrict Zimbabwe to 147-8.
Bangladesh’s players celebrated early when Musaddek appeared to wrap up the last over with consecutive stumping dismissals.
But replays showed wicketkeeper Nurul Hasan took the ball in front of the stumps before whipping off the bails to complete the dismissal of Blessing Muzarabani.
Players shook hands and left the field while the umpires waited to assess TV replays, which showed the keeper’s error and meant everyone had to return. Muzarabani couldn’t take advantage of the second chance, not able to score any of the four runs required for victory.
“It was a new experience for us! Musaddek bowled very well in this pressure situation,” he said. “Honestly it was a little bit nervous, but we believed we could do it.”
In the Perth opener, Pakistan’s pace attack restricted Netherlands to 91-9, with Shadab taking 3-22 and Mohammad Wasim Jr. returning 2-15.
Netherlands had won the toss and opted to bat but couldn’t cope with Pakistan’s quick bowlers and slumped quickly to 26-3.
Colin Ackermann (27) tried rebuilding the innings but Shadab ran through the middle order and Wasim Jr. narrowly missed his hat trick toward the end. He had dismissed Tim Pringle (5) and Fred Klaassen (0) off successive balls.
Only two Dutch players scored in double digits.
Pakistan replied with a sedate innings and knocked up the runs in 13.5 overs, finishing with 95-4.
Mohammad Rizwan scored 49 off 39 balls, combining with Fakhar Zaman (20) in a 37-run second-wicket stand after Pakistan skipper Babar Azam (4) was run out.
Pakistan is fifth in the Group 2 standings, and Netherlands has been knocked out of contention after three consecutive losses in the Super 12 stage.
South Africa is now atop group 2 with five points while India is now down to second with its first defeat in three games.
However, India’s loss also means Pakistan now has to beat South Africa on Thursday in Sydney to stay alive in the tournament.