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.
|Salihamidzic, Kovac not standing in way of Rudy exit|
|Jaguars DB Ramsey calls Bills QB Allen ´trash´|
|Real Madrid 2 Atletico Madrid 4 (after extra time): Saul stunner seals Super Cup glory|
|Ex-India Test captain Wadekar dies aged 77|
|Gundogan ready to step up in absence of injured De Bruyne|
|Djokovic overcomes illness to see off Mannarino|
|Diego Costa nets fastest UEFA Super Cup goal ever|
|Everton feared missing out on Mina after World Cup strike|
|Barcelona 3 Boca Juniors 0: Messi, Malcom net as Barca win Joan Gamper Trophy|
|All Blacks stick with Barrett as Mo´unga misses out altogether|
|Modric benched for UEFA Super Cup clash with Atletico Madrid|
|Cipriani charged with assault after Jersey nightclub incident|
|Hamburg 1 Bayern Munich 4: Wagner and Muller hit braces in comeback victory|
|WATCH: Messi scores first goal as Barcelona captain|
|Iniesta, Xavi and Puyol were great teachers, says new Barcelona captain Messi|
|Moses retires from international football|
|Goals, assists, set-pieces - The stats that show De Bruyne is almost irreplaceable for City|
|Bergeron wins mammoth 24-man U.S. Amateur play-off|
|Hart to Burnley "not rocket science", says Dyche|
|Leipzig, Schalke reject Rudy transfer rumours|
|Yedlin knee injury not serious, Newcastle confirm|
|Bartomeu satisfied with Barcelona squad amid Pogba links|
|Kevin De Bruyne suffers knee injury|
|Steelers QB Roethlisberger in concussion protocol|
|Kehrer to PSG not complete, say Schalke|
|Hopoate handed 10-year ban from NSWRL|
|Is this worth it? Injuries prompted Te´o to consider future|
|Croatia hero Subasic retires from international football|
|Iniesta makes it two in two for Vissel Kobe|
|Chelsea send out defensive duo on loan|
|Zaha 2023: Palace star means more than goals|
|De Jong set for Ajax stay despite Barcelona interest|
|Serena ´still at the very beginning´ of comeback|
|Ajax can benefit from Mourinho approach - Blind|
|Foley not convinced by reports All Blacks will drop Barrett|
|Zaha signs Crystal Palace extension|
|Burnley midfielder O´Neill makes A-League loan move|
|Godin yet to renew with Atletico Madrid amid transfer interest|
|Federer ´feeling better every day´ after Wimbledon disappointment|
|Kante comfortable with surprise new Chelsea role|
|Rugby Championship 2018: The numbers behind New Zealand´s dominance|
|LaLiga 2018-19: Bale ready to be Madrid´s shining light after five years in Ronaldo´s shadow|
|Rodgers unimpressed by absence of ´fit´ Boyata|
|Braves´ Acuna Jr. has arrived as a true MLB star|
|LA Galaxy 2 Colorado Rapids 2: Jackson´s deflected strike sees spoils shared|
|Victory offer postponed retirement, says Honda|
|Kyrgios forgets tennis shoes, Federer back in business|
|Williams knocked out as Garcia and Pliskova advance in Ohio|
|Kvitova sees off Serena in Cincinnati classic|
|Federer dispatches Gojowczyk in Cincinnati|
|Stead succeeds Hesson as New Zealand coach|
|Duminy encouraged despite South Africa´s mixed results|
|Thiem withdraws from Cincinnati Masters|
|Edwards joins Ospreys in consultancy role|
|Former Arsenal and Barcelona player Song joins Sion|
|I´m very happy with what I have - Spalletti not desperate for Modric|
|Roethlisberger evaluated for concussion after practice|
|Brady ´absolutely´ expects to face Eagles|
|Rugby Championship 2018: Reasons for optimism and concern for Australia|
|Wentz ´gonna be close´ for Eagles opener|
|Cleveland ´victory fridges´ to unlock beer if Browns finally win|
|England´s Watson suffers injury setback|
|Mariners reinstate Cano after 80-game suspension|
|AEK Athens 2 Celtic 1 (3-2 agg): Rodgers´ men dumped out of Champions League|
|Alonso to leave F1: Paddock reacts to Spaniard´s exit|
|Roma sign midfielder N´Zonzi from Sevilla|
|Alonso to leave F1: Who will replace Fernando at McLaren?|
|Extraordinary Zidane is in Real Madrid´s past - Lopetegui|
|Alonso to leave F1: Then and now - how the grid, teams and calendar have changed since 2001|
|Wawrinka and Azarenka receive US Open wildcards|