Ireland 290 for 5 v (Balbirnie 102, Tector 79, Dockrell 45) beat South Africa 247 (Malan 84, McBrine 2-34) by 43 runs
Ireland have beaten South Africa for the first time in seven ODIs and taken 10 World Cup Super League points to advance to fifth spot on the points table. After upsetting England last year, then losing a series to Netherlands earlier this year, Ireland's 2023 World Cup ambitions are somewhat back on track. They have also taken an unassailable lead in the ODI series, which has been reduced to two matches after Sunday washout which means Friday's finale is a must win for South Africa to avoid conceding the trophy.
It was also lucky No. 7 for Ireland captain Andy Balbirnie, who brought up his seventh ODI century to set the innings up. Balbirnie opened the batting and built the innings until the 42nd over before handing over to Harry Tector, who smashed 79 off 68 balls to take Ireland to their highest total against South Africa. Tector and George Dockrell put on 90 for the fourth wicket at a scoring rate of 11.73 to set South Africa a tough target of 291.
South Africa partly had themselves to blame for the task they gave their batters. They dropped four catches - Paul Stirling on 6 and 10, Tector on 0 and Balbirnie on 74 - and lost their lengths at the death. The attack conceded 103 runs in the last 10 overs. Contrastingly, South Africa lost 8 for 88 between the 32nd and 49th overs and needed 102 runs off the last 10 overs but were unable to keep up with the required scoring rate.
Ultimately, South Africa may also have cause to question their team selection after resting Quinton de Kock for a second successive match and opting to bench Lungi Ngidi after he enjoyed a good outing in the first game. Not for the first time, South Africa's batting line-up appeared too short and they lacked a sixth bowling option.
Anrich Nortje, who returned to the team in place of Ngidi, should have had the first wicket when he squared Stirling up and induced a thick edge. Aiden Markram, at second slip, dived across Janneman Malan at first to try and take the catch, juggled it several times and it slipped out of his hands. Stirling could have been out in the next over too, when he hit Kagiso Rabada over the covers to give David Miller a catchable chance. Miller timed his jump but the ball just brushed his fingertips. At the other end, Nortje thought he had Balbirnie caught behind off the inside edge and South Africa reviewed. Replays showed the ball had caught the top flap of the pad and Balbirnie, on 11 at the time, survived. He also took back-to-back boundaries off the next two balls of the over.
South Africa's third seamer, Andile Phehlukwayo, did not concede a boundary in his first four overs leaving Stirling to attack Keshav Maharaj. Stirling slog-swept Maharaj's for four in the 14th over and tried the same shot off the next ball but was beaten by flight, missed and was bowled. Maharaj and Tabraiz Shamsi operated in tandem for eight overs and conceded just 24 runs, including just one four, in that period to leave Ireland at 106 for 1 at the halfway stage. By that point, Balbirnie had reached fifty and would have known there was time, and need, for him to go big.
Initially, Andy McBrine was the enforcer. He took boundaries off Maharaj and Shamsi before being given out lbw off Shamsi. The wristspinner would have had another off the next ball when Tector leaned forward to drive a wrong'un and edged but Kyle Verreynne, keeping in place of de Kock, could not hold on. Shamsi also thought he had Tector lbw the ball after that as he struck the front pad but replays confirmed an inside edge. Tector's troubles didn't end there. Five overs later, he ducked into a Nortje short ball and was struck on the helmet. Tector received his on-field check and was cleared to continue. The blow may have shaken Balbirnie, who rushed to a Phehlukwayo full ball in the next over and drove aerially to Rabada at deep point. Rabada had to move forward to take the catch and got to it but it popped out.
Luckily for Ireland, that was the end of their wobbles. Balbirnie's century came up off 114 balls to take his average against South Africa to 75 and when he was dismissed by Rabada, left Tector to finish off. He survived a stumping chance, showed his cheek when he ramped Rabada for six and his class when he drove Phehlukwayo through the covers to bring up fifty off 54 balls. There were only 4.5 overs left in the innings at that stage but Tector was hitting the ball well enough to think about a century. He fell on his sword, and 21 runs short, when he holed out to Rabada in the deep in the last over.
South Africa's reply started confidently as Malan and Markram scored 28 runs in the first four overs. Markram appeared in good touch but tried to pull a length ball from Craig Young and found extra cover. Temba Bavuma went in similar fashion after the powerplay when he pulled a Josh Little delivery to square leg, where Dockrell took a good catch diving forward.
But South Africa stabilised through Malan and Rassie van der Dussen, who shared in a 108-run third-wicket stand. Malan, opening in place of de Kock, was particularly powerful in clearing the rope on the leg side, and rotated strike well with van der Dussen but when he was dismissed, South Africa unraveled.
Dockrell, who had been playing as a specialist batter and had bowled six overs for 33 runs, was given a seventh over. Malan, chasing the 90s, was on 84 when he hit Dockrell to deep midwicket and found Mark Adair. Seven balls later, van der Dussen was struck in front of middle and leg by a McBrine ball that turned past the bat and was given out lbw. He reviewed but multiple checks from the umpire confirmed no inside edge and umpire's call on hitting leg stump.
Ireland saw two new batters at the crease and brought back Little to try and prise a wicket. In his third over of the spell, Little had Verreynne caught behind, throwing his hands at a wide ball, which put expectation on Miller and Phehlukwayo's finishing abilities. Phehlukwayo holed out to long-off to give McBrine a second and Miller played a similar stroke four balls later to all but end South Africa's chase.
But there was time for one more disaster. Kagiso Rabada was run out after Maharaj was caught off a waist-high no-ball. Rabada was running to the wicketkeeper's end but did not make his ground, perhaps assuming the ball was dead. Maharaj and Nortje were dismissed on successive deliveries in the 49th over as Ireland completed a historic win.

Firdose Moonda is ESPNcricinfo's South Africa correspondent