Rohit Sharma inspired India to a victory over South Africa and a series win that ensures they will leapfrog the Proteas and go top of the one-day rankings.
India had already clinched at least a share of the six-match series as they went into the penultimate ODI in Port Elizabeth holding a 3-1 lead, and they duly continued their dominance in a 73-run win.
Having been put into bat India owed a debt of gratitude to Rohit for pushing them to 274-7 with 115 off 126.
Hashim Amla (71) and Heinrich Klaasen (39) gave the Proteas hope, but the run out of the former proved a key moment in the game and when Klaasen fell to the excellent Kuldeep Yadav the writing was on the wall.
India will now look to finish with a flourish in the series finale in Centurion on Friday.
BREAKING: India will finish the #SAvIND ODI series as the number one side in the @MRFWorldwide ICC ODI Rankings after taking a 4-1 series lead with victory in Port Elizabeth!https://t.co/1oA76LNlyI pic.twitter.com/xNpiqW6kFC— ICC (@ICC) February 13, 2018
Shikhar Dhawan got India's innings off to a quick start as he struck 34 off 23 balls in his opening partnership of 48 with Rohit, striking eight fours before he pulled Kagiso Rabada to deep square leg.
Rohit duly picked up where Dhawan had left off, contributing 62 off only 55 deliveries in a second-wicket stand of 105 with Virat Kohli, who was on 36 when he was run out by JP Duminy.
Kohli's dismissal came as a result of Rohit refusing to run and Ajinkya Rahane (8) went in similar fashion as India's centurion was caught ball-watching.
But Rohit, dropped on 96 by Tabraiz Shamsi, made up for those mental errors as he brought up his first hundred in South Africa with a flick past backward square leg.
Rohit eventually fell to Lundi Ngidi (4-51), who had Hardik Pandya for a duck next ball, but Bhuvneshwar Kumar (19 off 20) helped push India to a total that proved well beyond South Africa.
Aiden Markram went for a run-a-ball 32 as he combined for 52 opening runs with Amla, who found little in the way of support as Duminy (1) and AB de Villiers (6) both failed.
Amla, who hit just five boundaries in a workmanlike 92-ball stay, looked to have found a match-winning partner in Klaasen, but an extremely tight direct hit run out review went against him and sparked a Proteas collapse.
Kuldeep then removed Andile Phehlukwayo and Rabada and all hope went when the same bowler had Klaasen stumped as India dethroned South Africa as the top team in the 50-over game.
|Silver supports NBA players speaking out on social issues|
|Mickelson ready for Masters after third straight top-six finish|
|Gattuso: My job is to be the players´ nightmare until season´s end|
|I wasn´t good enough – Guardiola reveals Wigan rejection|
|Dillon reigns supreme with overtime win at Daytona 500|
|Bubba Watson ends drought with third Genesis Open title|
|Brazilian derby between Vitoria and Bahia abandoned after red-card frenzy|
|Anderson ends barren spell with New York Open triumph|
|It was crazy, but I like that - Zidane revels in eight-goal Betis thriller|
|Asensio credits Zidane for Madrid´s thrilling Betis comeback|
|Zidane hopeful over Marcelo hamstring injury|
|Overton replaces injured Plunkett for Blacks Caps ODI series|
|Bonaventura claims Milan can catch Inter|
|Bravo for Claudio! Guardiola to pick keeper at Wembley|
|Mourinho hoping for reinforcements at Sevilla|
|´Quick-healer´ Groves hopeful over shoulder injury|
|Real Madrid become first side to score 6,000 goals in LaLiga|
|Real Betis 3 Real Madrid 5: Asensio at the double in LaLiga classic|
|AC Milan 1 Sampdoria 0: Bonaventura makes it 10 unbeaten for Rossoneri|
|Schurrle excited to finally link up with Reus and Gotze|
|Fit-again Hughes included in England squad|
|New number one Federer revels in ´unbelievable´ week|
|Real Madrid defender Marcelo suffers hamstring injury|
|Costa fumes referees ´want to give me a card´, but Simeone plays down penalty row|
|Thiem regains Argentina Open title|
|Stoger makes Dortmund history with Gladbach win|
|Championship Review: Leeds fight back for point, Norwich & Ipswich share derby spoils|
|Racing beat La Rochelle to go second, Castres edge out Bordeaux|
|Borussia Monchengladbach 0 Borussia Dortmund 1: Burki unbeatable as Reus returns to haunt Foals|
|FA Cup ´magic´ no surprise to Pochettino after Rochdale thriller|
|Rochdale hero Davies: This is every kid´s dream|
|Atletico Madrid will not stop in pursuit of Barcelona, promises Gameiro|
|Banks boot pays dividends for Treviso|
|Lucky 13 and second successive title for Kvitova after Muguruza classic|
|´Wrong image´ to blame for VAR confusion in Manchester United´s FA Cup win|
|Rochdale 2 Tottenham 2: Davies denies Kane in FA Cup classic|
|Rieder stretchered off as Wasps extend Chiefs´ slump|
|Atletico Madrid 2 Athletic Bilbao 0: Gameiro and Costa settle cagey clash|
|NHL commissioner Bettman condemns ´reprehensible´ Smith-Pelly abuse|
|Visser, Scott and Nel among six recalled by Scotland|
|Bhuvneshwar and Dhawan inspire India´s Wanderers win|
|Napoli set club record with another Serie A win|
|Froome disappoints in time trial as Wellens wins Ruta del Sol|
|Napoli 1 SPAL 0: Allan sends hosts top of Serie A again|
|Federer makes short work of disappointing Dimitrov|
|Allegri allays Higuain injury fears|
|Blackhawks fans ejected after racist heckling of Capitals´ Smith-Pelly|
|Allegri convinced Juve can get past Spurs|
|Sri Lanka sweep series after dominating Bangladesh|
|Everton fear ´long-term´ injury for Mangala|
|If it isn´t Madrid, it´s Paris - Hazard tires of speculation|
|Luiten claims Oman Open title|
|Torino 0 Juventus 1: Champions win derby but lose Higuain|
|Neymar exit made Barcelona stronger - Ter Stegen|
|Remove T20 cricket from international schedule - Bayliss|
|Injured Higuain forced off against Torino|
|Jesus confident of returning strong after knee injury|
|DeGale launches Twitter attack on beaten Eubank Jr|
|We had to change hotels – Ovrebo recalls fury after 2009 Chelsea-Barcelona semi-final|
|Spalletti: Inter board will decide my future|
|Munro blitz helps Black Caps progress despite defeat|
|Fabregas still wary of timeless Iniesta|
|Liverpool´s 30-goal hero Salah: There´s more to come|
|Valverde: Coutinho dropped for the good of Barcelona|
|Garcia floors Rios for ninth-round TKO|
|Ronaldo better than Neymar? No says Xavi|
|Donovan Mitchell caps NBA All-Star challenges with dunk success|
|Anderson outlasts Nishikori to reach New York Open final|
|Steve Nash, Ray Allen among Basketball Hall of Fame finalists|
|Kevin Love: It was necessary to clean house in Cleveland|