Chasing 299, England were cruising on 146 for 0 in the 20th over before South Africa's seamers, led by Sisanda Magala, fought back
Bloemfontein: South Africa 298-7, England 271 - South Africa won by 27 runs
Jason Roy hit back at his critics with a headline-grabbing century in Bloemfontein but couldn't prevent England from suffering a 27-run defeat against South Africa in the first ODI.
The Surrey batter has been in dire white-ball form of late, losing his place in England's T20 side ahead of the World Cup and failing to make an impression in the SA20, but bounced back in style with 113 runs from 91 balls – only his second ODI century since the 2019 Cricket World Cup.
However, big wickets from Sisanda Magala (3 for 46) and Anrich Nortje (4 for 62) and an earlier century from Rassie van der Dussen ensured it was South Africa who took a 1-0 series lead.
Batting first, Quinton de Kock and Temba Bavuma made a bright start in the powerplay, capitalising on the conditions and some lacklustre powerplay bowling from David Willey and Jofra Archer to produce a 61-run opening stand.
Moeen Ali was introduced in the ninth over and picked up a wicket with his third delivery, Sam Curran taking a fine diving catch at mid-on to remove Bavuma for 36 (28).
Jason Roy scored a century for England [Alex Davidson/Getty Images]
Failing to push on from promising starts proved to be the theme of the day for South Africa's batters. De Kock (37 off 41) was caught behind by Jos Buttler after being deceived by Curran's bouncer in the 14th over, Olly Stone struck with his first delivery to remove Aiden Markram (13 off 19) in the 22nd, and Heinrich Klaasen (30 off 32) was pinned lbw by Adil Rashid while attempting a rather needless sweep.
Van der Dussen, however, had no such issues, putting in the hard yards – he scored just seven boundaries (six fours, one six) – to put the Proteas back in the driver's seat.
He took 63 balls to bring up his fifty and 110 balls to seal his fourth ODI century, brought up with a single off Stone in the 45th over, before being caught by Ben Duckett in the deep to depart for 111 (117). His fifth-wicket partnership with David Miller, who scored a half-century of his own (53 off 56), yielded 110 runs off 101 deliveries.
Miller, the victim of a smart piece of boundary fielding from Willey, and Wayne Parnell – Archer's first international wicket since March 2021 – also departed as South Africa closed on 298 for 7.
Unfortunately for Archer, it was far from a fairy-tale return to an England shirt, with his 10 overs leaking 81 runs in unhelpful conditions. Curran, however, was impressive, wrestling back control after the powerplay and finishing with 3 for 35. Stone (1 for 37) and Rashid (1 for 55) also made important contributions.
Anrich Nortje (centre) picked up four big wickets [Alex Davidson/Getty Images]
In reply, South Africa's bowlers were largely impotent against Roy and Dawid Malan for the first 19 overs. Roy raced out of the blocks and effortlessly made his way to fifty off 45 balls in the 14th over. Malan followed suit in the 19th, taking 49 deliveries.
However, in the 20th over, Magala made a crucial breakthrough - Malan dispatching a short ball straight to Bavuma at mid-off to depart for 59 (55) - to end a 146-run opening stand.
Duckett, playing his first ODI for six years, departed eight deliveries later, caught behind off Nortje, before Magala picked up his second, trapping debutant Harry Brook lbw for 0: England 152 for 3.
But Roy ploughed on and safely brought up his century in the 25th, roaring with delight as he crunched Nortje over the boundary.
He was eventually removed for 113 (91) in the 30th over courtesy of a running catch from Parnell in the deep and even though Moeen (caught van der Dussen off Magala) joined him in the shed a few overs later, with 77 runs required from 16.2 overs, it was still very much advantage England.
Rassie van der Dussen top-scored for south Africa with 111 [Lee Warren/Getty Images]
Nortje, however, had other ideas, removing Buttler (36 off 42) and Willey (8 off 9) in quick succession to reduce England to 250 for 7. He thought he had dismissed Rashid in the 41st but was undone by a front foot no ball.
Rashid hit the next delivery for four but the error didn't prove to be too costly for South Africa, with Kagiso Rababa striking in the 42nd with his final delivery of the match to remove Curran (17 off 21) and Nortje accounting for Archer (caught Klaasen) in the 43rd.
Tabraiz Shamsi sealed an unlikely win with 5.4 overs to spare, dismissing Stone caught and bowled.