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.
|Bonucci boos a ´mistake´ by fans, says Mancini|
|Ronaldo still part of Portugal squad – Santos|
|Santos satisfied as Portugal reach Nations League Finals|
|Howell holds onto RSM Classic lead|
|McLeish optimistic as Scotland zero in on Nations League promotion|
|Luis Enrique rejects criticism of Spain star De Gea|
|Schmidt dismisses Hansen´s Ireland World Cup favourites claim as ´banter´|
|There are always imbeciles – Bonucci hits back at fans after frosty San Siro reception|
|Portugal draw ´a step forward´ despite poor finishing – Mancini|
|Ireland were just too good - Read|
|Thomas at the double as France end losing streak|
|Albania 0 Scotland 4: Forrest double sets up promotion showdown|
|Italy 0 Portugal 0: European champions outplayed but secure Finals spot|
|Sensational Djokovic marches into final|
|Stander lauds Ireland´s ´unreal´ defence as All Blacks are thwarted|
|Dazzling Ireland claim historic All Blacks scalp in Dublin|
|Federer unimpressed with Zverev boos|
|Let´s get it on! Cheika relishing England clash|
|Croatia coach Dalic to speak with Lovren over Ramos remarks|
|Xhaka puts improved form down to ´freak´ Emery|
|De Gea not lacking confidence, says Spain´s Saul|
|Jordan goalkeeper scores from own penalty area in friendly against India|
|Pollard leads Springboks to Murrayfield victory|
|Fired-up Japan taught England a great lesson - Jones|
|Sarries leave it late to down Sale, Bath and Saints win|
|O´Shea fumes at disallowed Italy try|
|Southgate welcomes England selection quandary|
|Reaching Rooney´s England goals record ´definitely possible´ – Kane|
|Debut try for Cokanasiga as England rally to avoid Japan upset|
|Wembley will galvanise ´tired´ Croatia, insists Dalic|
|Zverev apologises for tie-break controversy amid O2 Arena heckles|
|Marquez happy with fifth after damaging shoulder in Valencia|
|Wales crush Tonga in Cardiff|
|Germany should keep faith in old guard - Bierhoff|
|Injured Lukaku to miss Belgium´s Nations League decider|
|Zverev knocks out Federer to reach maiden ATP Finals showpiece|
|Koroibete double maintains Australia´s 100 per cent record against Italy|
|Juventus´ Khedira sprains ankle in training|
|Van Dijk: Ramos is not my type of defender|
|Vinales grabs Valencia pole as Marquez crashes|
|I don´t deserve Ballon d´Or, Mbappe does – Hazard|
|Reed and Willett share lead in Dubai|
|Romagnoli joins long AC Milan injury list|
|Williamson steadies Black Caps after Boult heroics|
|Griezmann targets swift French response against Uruguay|
|Havertz´s future lies with Bayer Leverkusen – sporting director Boldt|
|Socceroos boss Arnold excited for future|
|South Africa triumph on Gold Coast in truncated T20 clash|
|Germany without Draxler for Netherlands game|
|Barcelona confirm Rakitic hamstring injury|
|Rain halts England´s post-tea flourish|
|Australia 1 South Korea 1: Luongo seals late draw for Socceroos|
|Irving thrives on ´peace´ of being in the zone|
|Lloris admits France could have lost by more|
|Dybala impressed by Argentina´s improved spirit|
|Arsenal chief confirms Super League talks|
|Hooker knocks out Saucedo to retain WBO strap|
|NBA wrap: Kyrie Irving sizzles as Celtics beat Raptors in overtime|
|Jimmy Butler aims dig at Timberwolves following 76ers home debut|
|Koeman surprised by dominant Netherlands|
|Southgate rallies England ahead of Nations League decider|
|Chile 2 Costa Rica 3: Waston brace sinks La Roja|
|Tite inspired by Guardiola´s City|
|Argentina 2 Mexico 0: Funes Mori´s header helps to sink El Tri|
|Lovren ready for ´fiery´ England clash|
|Brazil captain Neymar pleased with stern Uruguay test|
|Ravens´ Flacco doubtful, Jackson could start|
|Richarlison: I want to be at the Copa America|
|Tabarez buoyed by inexperienced Uruguay|
|Howell fires 64 again to extend RSM Classic lead|