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.
|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|
|Real Madrid hurt you with nothing – Xavi says PSG loss an injustice|
|Conte: Chelsea need perfect game to stop Messi and Barcelona|
|LeBron James thanks Ingraham as Cavs All-Star vows to speak his mind|
|Archer says Rays could have best rotation in baseball|
|Bubba Watson takes lead with 65 at Genesis Open|
|Inter in a fragile moment, says Spalletti|
|Groves batters Eubank Jr to retain WBA crown|
|Montpellier see off plucky Oyonnax, Ashton stars in Stade mauling|
|Booed Emery praises PSG´s mental strength|
|Cavani hails ´good reaction´ as PSG bounce back in style|
|Thiem breezes past Monfils to set up Bedene showdown|
|Mourinho wants referees to have final say on VAR|
|Genoa 2 Inter 0: Pandev piles misery on old employers|
|Manchester United to host Brighton in FA Cup quarter-finals|
|Leinster see off Scarlets as Munster come up short in Cardiff|
|New No.1 Federer earns gritty Seppi win to book Rotterdam final|
|Mata ´still up for VAR´ despite disallowed goal at Huddersfield|
|Valverde: Barcelona had to suffer at Eibar|
|Championship Review: Fulham end Villa run, Cardiff pounce|
|Resilient Kvitova ousts Wozniacki in Doha thriller|
|Huddersfield Town 0 Manchester United 2: Lukaku sends visitors through after VAR controversy|
|Toomua inspires Tigers win over Quins, Worcester beat Gloucester|
|Bayern Munich boss Heynckes hails game-changing Muller|
|Locadia benefiting from ´competitive´ Brighton - Hughton|
|Baby on board? Alba dedicates Barca goal to girlfriend|
|West Brom future ´not a decision for me´, says Pardew|
|Lions get De Bruin off to winning start|
|Paris Saint-Germain 5 Strasbourg 2: Cavani at the double in bounce-back win|
|Bar-celona! Messi posts unwanted record|
|Barca go 31 LaLiga games unbeaten to tie club record|
|Mourinho: I don´t know and I don´t care when Pogba returns|
|Brighton and Hove Albion 3 Coventry City 1: Locadia, Ulloa lead Seagulls to quarter-finals|
|EIbar 0 Barcelona 2: Suarez and Alba seal points as Orellana sees red|
|West Brom 1 Southampton 2: Rondon stunner in vain as Baggies drop out|
|Wolfsburg 1 Bayern Munich 2: Lewandowski spot-on after Robben´s penalty miss|
|I hope Cutrone finds a beautiful girlfriend so he can rest and make love - Gattuso|
|Wellens claims Ruta del Sol lead, Froome suffers puncture|
|Goffin forced to retire in Rotterdam following freak eye injury|
|Allegri denies Champions League ´obsession´ ahead of Turin derby|
|Barry, Evans start for West Brom after training camp incident|
|Bottas unaffected by ´Halo´ on simulation runs|
|Sheffield Wednesday 0 Swansea City 0: Carvalhal settles for replay on Hillsborough return|
|Management ´tiring´ but Zidane not ready to leave Madrid just yet|
|Thiago back for Bayern as Heynckes rests stars for Besiktas|
|Simeone urges Atletico fans to get behind Griezmann|
|Robben amazed by Guardiola´s impact at Manchester City|
|Three-way tie for lead in Oman as Pavon falls away|
|McIlroy frustrated by added scrutiny of playing with Woods|
|Morgan to take it slow with Stokes and backs Rashid|
|Pogba out of Man Utd´s Huddersfield trip with illness|
|A-League Review: Perth ´Panenka´ punished, 10-man Adelaide rescue late draw|
|Dragons and Rabbitohs see off Super League opponents|
|Robben targets two more years at the ´highest level´|
|Rashford and Herrera ´have a chance´ of making Sevilla trip|
|Mixed feelings for Tiger Woods after missed cut at Riviera|
|Emery defends PSG star Neymar after Madrid display|
|Nishikori stays hot in New York as Anderson awaits|
|Kevin Durant: Laura Ingraham´s ignorant comment was racist|
|Thiem sets up Monfils semi-final showdown|
|Mahrez saga now over, says Leicester boss Puel|
|Cantlay, McDowell and Saunders top at Riviera as Woods makes early exit|
|Tiger Woods misses cut at Genesis Open|
|Astros manager Hinch on Cole: He doesn´t need to be fixed|
|Alonso to return for Barca clash but Bakayoko set to miss first leg – Conte|
|Mourinho: Manchester United will sign a midfielder|
|Record-breaking Federer rises back to summit, Goffin to meet Dimitrov|