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.
|Johnston ´amazed´ to see Liverpool in Champions League final|
|Fearless Loftus-Cheek embraces England pressure|
|Butland shocked by Hart absence|
|It´s a football club – Klopp on choosing Liverpool over Man United|
|Emery appointed after secret vote, says Arsenal chief|
|Klopp used Sevilla loss to inspire European title tilt - Henderson|
|Lineker, Stoichkov, Zico - the stars who blazed a J-League trail for Iniesta|
|Golf not fame drives McIlroy|
|De Villiers tributes led by Du Plessis, Kallis and Tendulkar|
|Buttler ´maturity´ is just what England need, says Vaughan|
|Fit-again Wawrinka returns to winning ways|
|Toulouse take giant step towards Ligue 1 survival|
|Jets will not punish players for incurring anthem-related fines|
|F1 Raceweek: Hamilton and Bottas looking to build momentum - Monaco GP in numbers|
|Steelers´ Antonio Brown advises Le´Veon Bell to ´show up´|
|Stephens out in Nuremberg, Stosur wins Strasbourg final rematch|
|Clippers extend coach Rivers´ contract|
|Ancelotti ´thrilled´ by Serie A return with Napoli|
|Carlo´s Angels? Napoli boss poses for unusual photograph|
|Brady will attend Patriots mini-camp despite OTA absence - Kraft|
|World Cup hero, Champions League master - the best of Andres Iniesta|
|Heading to my new home - Iniesta drops massive Vissel Kobe hint|
|Neymar fitter than Brazil expected ahead of World Cup|
|Jardim, Jokanovic reject Chelsea speculation|
|Knight Riders rally dumps out Royals in IPL eliminator|
|Salah, Mane, Firmino trio could blow Madrid away, says Redknapp|
|Napoli appoint Ancelotti after Sarri departure|
|NFL stars must stand for national anthem if on field|
|Mascherano laments Romero injury blow|
|´Mr 360´ De Villiers retires after going full circle|
|Ronaldo already a Real Madrid legend like Di Stefano - Nacho|
|Pep or Pepe? The Spanish footsteps Emery could follow|
|Arizona, New Orleans land Super Bowls as NFL draft heads to Nashville|
|Sarri thanked by Napoli chief De Laurentiis amid Ancelotti reports|
|You never know! - Vettel and Hamilton joke about potential Ferrari link-up|
|It´s a silly question - Carrick insists Pogba has Man Utd future|
|Yates protects Giro lead as Viviani takes fourth stage win|
|Ozil one of Arsenal´s biggest talents - Emery|
|Fastest ODI hundred, 278 not out - De Villiers´ best knocks|
|Deschamps: Rabiot has made a huge mistake|
|Arsenal players can challenge for titles, Emery insists|
|Salah can seal Ballon d´Or with Champions League win - Riise|
|I want Real Madrid to lose Champions League final - Alba|
|Leverkusen sign goalkeeper Hradecky|
|Arsenal job a ´dream come true´ for Emery|
|De Villiers hailed as a ´colossus´ after quitting Proteas|
|Benitez expects Lascelles to stay amid reported Liverpool interest|
|Saha tells Martial: Stay and work for Manchester United future|
|Atletico Madrid defender Savic undergoes hip surgery|
|Bess to make Lord´s debut against Pakistan|
|Vissel Kobe announce news conference amid Iniesta speculation|
|Yan Dhanda leaves Liverpool for Swansea|
|Injured Chung out of French Open|
|I wish he´ll come to PSG - Motta wants Buffon reunion|
|Guardiola praises new Arsenal boss Emery|
|Defensive woes, travel sickness and Ozil´s role - Emery´s Arsenal to-do list|
|WATCH: Anthony Joshua serves up Stephen Curry assist|
|De Villiers announces international retirement|
|Salah not comparable to Ronaldo yet - Karius|
|Toure open to Manchester United switch & wants to play with Pogba|
|Rockets backed up fighting talk, says Harden|
|Europa League master, record return at PSG - Arsenal boss Emery in Opta numbers|
|Curry not taking the blame for defeated Warriors|
|Arsenal confirm Emery appointment|
|Bellamy confirms talks with Brisbane Broncos|
|Ref took Champions League final away from Roma - Under|
|Goals galore and sinking City - Liverpool´s road to the Champions League final|
|Benitez: Winning Champions League changed my life|
|Brewers extend Diamondbacks´ losing streak to six|
|Weidenfeller bids farewell in Schmelzer´s last game as Dortmund captain|