Johannesburg: Virat Kohli carry to his best form in South Africa with a sparkling century to guide India to 255-5 at stump on opening day of the first Test at the Wanderers on Wednesday.
At stumps on Rahane batting on 43 while skipper unbeaten Dhoni 17.
Kohli played a brilliant innings of 119 off 181 balls - his highest in Test cricket surpassing 116 against Australia in Adelaide.
The Delhi batsman added another crucial 68-run partnership with Ajinkya Rahane to help India cross the 200-run mark in the final session of the day.
Kohli scored his fifth Test century to lead India's revival after the visitors lost early wickets.
Kohli reached the milestone in 140 balls, which included 16 boundaries, in his very first outing against the Proteas in their own den.
It is Kohli's second Test hundred away from home after the Adelaide ton in 2012, and he is the only batsman in the current India line-up to score an overseas ton in the longer version of the game.
Earlier, Kohli's 84 helped India reach 164/4 at tea against South Africa.
Kohli added 52 runs to his tally in the second session to keep India in the match. The right-hander remained unbeaten at 84 off 113 balls which included 14 hits to the fence.
In the second session of the day, India managed 94 runs with the lost of Rohit Sharma (14) and Cheteshwar Pujara (25).
Sharma fiddled with an outgoing delivery of Vernon Philander just before the tea break and nicked the ball to the wicketkeeper AB de Villiers. The wicket reduced India to 151/4 before tea.
India lost Pujara after he added a valuable 89-run stand with Kohli to revive their innings.
Confusion between the duo in the middle, after spending so much time together so far, led to Pujara getting run out after they took India to 113/2 from a precarious position of 24/2 early in their innings.
Pujara hit two boundaries in his vigilant 98-ball 25 knock.
On the other end, Kohli smashed his 8th half-century to lead India fightback against the hosts. The new India No. 4 (a slot Sachin Tendulkar occupied for 24 years) smacked nine boundaries to reach his fifty off 76 balls.
Kohli changed his approach after the lunch break as he played more patiently, after racing to run-a-ball 32 before the break.
After losing openers early, Kohli and Pujara make sure that runs keep on coming along with keeping the wickets in tact as they took India over 100 in post-lunch session.
Electing to bat, India lost openers Murali Vijay (6) and Shikhar Dhawan (13) early.
After toiling hard for more than an hour and facing as much as 42 balls, Vijay nicked a Morne Morkel delivery to keeper AB de Villiers and left India at 24/2 in 15.1 overs.
India got off to a bad start as Dale Steyn had Dhawan caught by Imran Tahir at fine leg in the ninth over.
Steyn gave the hosts the breakthrough after MS Dhoni won the toss in his 50th Test as Indian captain and chose to bat..
Teams
South Africa Graeme Smith (Capt.), Alviro Petersen, Hashim Amla, Jacques Kallis, AB de Villiers (wk), Faf du Plessis, Jean-Paul Duminy, Vernon Philander, Dale Steyn, Morne Morkel, Imran Tahir
India Murali Vijay, Shikhar Dhawan, Cheteshwar Pujara, Virat Kohli, Rohit Sharma, Ajinkya Rahane, MS Dhoni (Capt. & wk), Ravichandran Ashwin, Zaheer Khan, Mohammed Shami, Ishant Sharma
Brief scores
India 255 for 5 (Kohli 119, Rahane 43*)