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.
|LeBron´s Lakers lose again, Magic stun Celtics|
|Bartomeu: No Barca return for Neymar, Valverde contracted until 2020|
|Simmons and ´stimulating´ 76ers in NBA Finals mix, says Longley|
|Falcons heap further misery on Giants|
|Vidic hails Ronaldo as ultimate professional ahead of Old Trafford return|
|Warriors´ Cousins nearing NBA return|
|Pogba can´t do the basics – Souness criticises Man United star|
|Messi absence big blow for Barca as Icardi talks up Inter|
|´You can´t cry, that´s true´ – Ronaldo responds to Isco|
|Bartomeu: Barca still competitive without Messi|
|Bills RB McCoy remains in concussion protocol|
|Raiders place Marshawn Lynch on IR|
|Emery calm over title talk after another Arsenal win|
|Green: Warriors have to clean up defensively|
|Mariners say Bolt talks ongoing amid reports contract offer was rejected|
|Proud captain Ozil revels in Arsenal´s ´sexy football´|
|Puel angry over Holding handball|
|Cilic breezes through in Basel, Anderson fights back|
|Ingram: Four-game ban better than we expected|
|Raiders send Cooper to Cowboys for first-round pick|
|Arsenal 3 Leicester City 1: Outstanding Ozil inspires comeback win|
|World Series 2018: Three reasons why the Dodgers will win|
|Yarmolenko out for six months after Achilles surgery|
|World Series 2018: Three reasons why the Red Sox will win|
|Ozil eclipses Klinsmann to become Premier League´s most prolific German|
|Allegri expecting Old Trafford battle against Mourinho´s United|
|Bertens feared she did not belong in Kerber clash|
|Returning Ronaldo expecting ´tough´ game against Manchester United|
|Cristiano Ronaldo confident of clearing his name amid rape allegation|
|Osaka looking to learn from losing start in Singapore|
|Kovac expects tough test against AEK Athens|
|Whyte gives Chisora deadline over rematch|
|Spartak Moscow sack Massimo Carrera|
|Atletico Madrid confirm fresh injury issue for Gimenez|
|Dolberg extends Ajax contract after Real Madrid links|
|Ronaldo an example for Lukaku to follow|
|Bertens battles back to blast past Kerber|
|Ramos apologises for training ground fracas|
|Raikkonen should take heed of Alonso misfortune as F1 career winds down|
|Guardiola wants Manchester City fans to push team to Champions League glory|
|Isco not interested in departed Ronaldo - he didn´t want to be here|
|World Series 2018: Three storylines to watch in Red Sox-Dodgers|
|Neymar focus bad for football - PSG´s Maxwell|
|Marco Ianni charged by FA over Jose Mourinho touchline row|
|Stephens sees off Osaka in see-saw Singapore battle|
|I´m happy at Manchester United - Mourinho dismisses Real Madrid reports|
|Semenya and Asher-Smith head IAAF Female World Athlete of the Year shortlist|
|Mandzukic to miss Manchester United trip|
|I turned down Manchester United to return to Juventus - Bonucci|
|Sanchez out of Manchester United´s clash with Juventus|
|Australia make Short work of run chase in T20 win|
|Brotherly g-love! Tommy Fury follows Tyson into the pros|
|Ozil´s international retirement can help Arsenal - Emery|
|If you sack Lopetegui, you have to sack us all – Isco|
|Lopetegui defiant amid Real Madrid sack reports|
|Sri Lanka spinner Herath to retire after Galle Test|
|Ronaldo returns for Old Trafford welcome amid disquieting noise|
|Garcia claims third Andalucia Valderrama Masters title|
|Ex-England international Waldrom retires|
|´Massive personality´ Hart can lift Burnley, says Kompany|
|Liverpool felt wrath of ´emotional´ Klopp, says Shaqiri|
|Reid: Jenkins capitalised on Kaepernick movement|
|Manchester United v Juventus: Ronaldo out to end dismal scoring record against Mourinho|
|Injured Ribery to miss Bayern´s clash with AEK|
|Wilshere would have stayed at Arsenal under Wenger|
|Mahomes stars again as Chiefs crush Bengals|
|Bolt must accept ´much less´ to join Mariners, says A-League chief|
|Klopp compares Liverpool to dog without favourite toy|
|Young leads Hawks to first win, Thunder fall in Westbrook´s return|
|Spalletti hits out at physical Milan – I had three players asking to be replaced|