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.
|Gleyber Torres makes history as Yankees beat Angels|
|MLS Review: LA Galaxy edge San Jose Earthquakes in California Clasico|
|Real Madrid v Liverpool: Who will win the Champions League final?|
|LeBron James saves Cavaliers from elimination|
|Peru FA president weighs in on Paolo Guerrero´s drugs ban appeal|
|Jurgen Klopp calls for ´big balls´ from Liverpool|
|Kevin Love ruled out of Game 6 for Cavaliers after concussion|
|Prescott says Cowboys don´t need top receiver|
|MLB extends Roberto Osuna´s administrative leave for third time|
|Rose shoots 64 to take Fort Worth lead|
|James Harden not worried about shooting struggles|
|Green: Spurs star Leonard wants to stay in San Antonio|
|Griezmann could help Barcelona a lot, says Umtiti|
|Moyano hat-trick helps Jaguares sink 14-man Sharks|
|Mbappe rejected Real Madrid for PSG - Monaco´s Vasilyev|
|Rovers rock Warriors as Wolves bite back to see off Hull|
|Thiem through in Lyon as Fucsovics closes in on historic first title|
|Hughes signs three-year Southampton deal|
|Barty suffers injury scare in Strasbourg|
|Ruthless Montpellier overpower Lyon to reach Top 14 final|
|Rabiot hits out at Deschamps criticism|
|Low: Messi more complete than Ronaldo|
|Marvellous McIlroy moves three clear at Wentworth|
|Brighton confirm deal for Deportivo striker Andone|
|No offers for Lyon captain Fekir, Aulas claims|
|Pakistan turn the screw to frustrate England at Lord´s|
|Rashid leaves Knight Riders in the shade as Sunrisers reach IPL final|
|Madrid not favourites for Champions League final - Zidane|
|Don´t compare Salah to Messi and Ronaldo, says Ramos. They´re in a different orbit!|
|Van Dijk: Liverpool is my team, Anfield is my home|
|Ronaldo at ´140 per cent´ is good enough for Zidane|
|People like to talk - Marcelo responds to misquoted Klopp|
|French Open 2018: Hopes of sensational Serena success raised by Roland Garros draw|
|Houston Rockets without Chris Paul for game six|
|Ostapenko used to life in the spotlight ahead of French Open defence|
|Red Sox designate Hanley Ramirez for assignment|
|Liverpool motivated by Europa League pain - Henderson|
|Reus relishing Favre reunion at Borussia Dortmund|
|Phenomenal Froome claims stunning Giro lead as Yates capitulates|
|Bertens, Kontaveit and Kasatkina – Can Ostapenko´s Roland Garros fairytale be matched?|
|Klopp less excited about second final appearance|
|It´s funny if two managers in the final have no clue about tactics - Klopp defends Zidane|
|Salah´s long-term potential ´not important´, says focused Klopp|
|It´s kind of unreal - Kvitova surprised by her success ahead of French Open return|
|Man United and Real Madrid favourite Beckham begs Zidane to beat Liverpool|
|Storm and Raiders snatch dramatic wins|
|Boateng desperate for ´best in the world´ Neuer to play|
|Great players have to play here - Real Madrid´s Marcelo continues Neymar courtship|
|Salah can win Ballon d´Or with Champions League triumph, says Luiz|
|Roland Garros wins ´exactly the same´ for Nadal regardless of Federer involvement|
|Rebels romp past Sunwolves, Crusaders retain top spot|
|Halep ´stronger mentally´ as she seeks first grand slam title|
|Cipriani on bench for Baa Baas clash|
|Ronaldo´s rival Salah shifts focus back to Liverpool versus Real Madrid|
|Two arrested in Kiev after clashes before Champions League final|
|Johnny Nelson leads tributes after death of Brendan Ingle|
|Batshuayi puts off Chelsea plans until after World Cup|
|Devon Smith back in Windies squad, Hamilton earns maiden call-up|
|Thiago hints at uncertain Bayern Munich future|
|Dhananjaya pulls out of Windies tour following death of father|
|I feel great - Kerr keeps faith with Warriors on the brink|
|Ronaldo: I can´t be compared with Salah|
|Buffon agent backs Paris Saint-Germain move|
|ICC confirms smart watches prohibited|
|Real Madrid v Liverpool: Champions League final in Opta numbers|
|Mane sends 300 Liverpool shirts to Senegal village for Champions League final|
|Arthur will not join Barcelona before December, Gremio insist|
|Real Madrid v Liverpool: Key battles in the Champions League final|
|Trout hits 15th HR, Bundy strikes out 14|
|Rockets star Paul dealing with hamstring injury|