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.
|Ronaldo jets off for a break as Madrid head to Leganes|
|Bastareaud back in one of five France changes|
|Mistake to let Kroos leave Bayern for Madrid - Sammer|
|Short´s fifty and Agar´s spin seal deserved Australian tri-series win|
|Spalletti tips Ancelotti for Italy job|
|I can´t wait for retirement - Federer|
|Mendy on course for World Cup, says Deschamps|
|Man Utd on dismal knockout run, Roma have Shakhtar curse - Champions League in Opta numbers|
|Azpilicueta hoping for greater fortune at Camp Nou|
|Out of nothing he can score goals – Heynckes hails Muller|
|CONCACAF Champions League Review: Giovinco inspires Toronto, Tigres held|
|Steelers LB Shazier says he´s ´best linebacker ever´|
|Ranieri: I´ll quit Nantes if offered Italy job|
|Thiem keeps title defence on track, Monfils saves match point in Rio|
|Barcelona are great even without Neymar – Willian|
|Del Potro, Raonic progress at Delray Beach|
|Dolphins place franchise tag on Landry|
|Colts QB Luck ´extremely optimistic´ about shoulder rehab|
|Conte wants to see out Chelsea contract but has bags packed|
|A´s respond to Gruden´s belittling of Oakland|
|Yankees acquire Drury in three-team deal with Diamondbacks, Rays|
|Messi goal will give Barcelona more space at Camp Nou – Suarez|
|Serena Williams: I almost died|
|Conte defends ´incredible´ Christensen after Barcelona error|
|Bayern taking nothing for granted after 5-0 demolition – Heynckes|
|Valverde: Barcelona away goal not definitive for progression|
|Muller & Robben bemoan poor first half despite Bayern rout|
|Ivashka sets up Wawrinka Marseille meeting|
|Chelsea close to a perfect game against Barcelona - Conte|
|Defending for 90 minutes at Barcelona a ´suicide mission´ - Fabregas|
|Championship Review: Villa miss chance to move into promotion places|
|Messi ends his Chelsea hoodoo|
|Texans release all-time leading tackler Brian Cushing|
|Chelsea 1 Barcelona 1: Messi breaks Blues hoodoo to leave tie in the balance|
|Bayern Munich 5 Besiktas 0: Two-goal Muller inspires emphatic win after Vida red|
|Woods and Stricker appointed USA Ryder Cup vice-captains|
|Wales must attack Sexton and Murray - Gatland|
|De Vrij confirms intention to leave Lazio on free transfer|
|Sanchez move down to Champions League frustration at Arsenal - Mourinho|
|Mourinho suggests Pogba is fit to face Sevilla|
|Clinical Kerber strolls past Strycova in Dubai|
|AFC Champions League Review: Hulk & Oscar lead Shanghai, Jeonbuk Motors hit six|
|Cech expects Ospina to start for Arsenal in EFL Cup final|
|Gueye signs new Everton deal until 2022|
|FA charges Man City and Wigan for failing to control players|
|Aguero faces no action over Wigan fan incident|
|Martin released by Buccaneers|
|Las Palmas get green light to sign Viera replacement amid Nasri talk|
|De Kock, De Villiers & Du Plessis looking to Australia Tests|
|FA issues West Ham with anti-doping charge|
|Florenzi a doubt to face Shakhtar, confirms Roma´s Di Francesco|
|Maybe we ´lock him up or tie him up´ – Montella ponders how to stop Sanchez|
|French rugby crisis could last a long time - Magne|
|Pogba and Ibrahimovic train with Man Utd ahead of Sevilla tie|
|Zidane hints at resting Ronaldo for Real Madrid´s trip to Leganes|
|Biggar, Halfpenny and Williams return to Wales´ starting XV|
|Modric adds to Real Madrid injury worries|
|Braehmer pulls out of Super Series semi-final|
|Wolfsburg turn to Labbadia in fight for Bundesliga survival|
|Hales follows Rashid in signing white-ball deal|
|Wigan to investigate pitch invasion after win over Manchester City|
|Drogba ´couldn´t be more proud´ as son signs for Guingamp|
|Stones making no excuses for shock Wigan defeat|
|Bellugi scathing of Inter form and transfer policy|
|Ringrose could make Six Nations impact after comeback|
|Rakitic: I´ve not seen Messi in the gym this often|
|Winter Olympics 2018: Slovenian ice hockey star Jeglic sent home after positive doping test|
|Sevilla v Manchester United: Montella and Mourinho unified in pursuit of identity|
|Besiktas face Bayern test, Messi seeks to end drought - Champions League in Opta numbers|
|Jose Morais: The Mourinho acolyte bringing Barcelona to Barnsley|