India ended their tour of South Africa on a high in Cape Town as a seven-run victory in the deciding Twenty20 international secured a 2-1 series triumph.

Despite the absence of skipper Virat Kohli, who missed the game due to a back problem, the visitors posted 172-7 before holding their nerve with the ball in the closing stages.

Home captain JP Duminy top-scored with 55 but his decision to bowl first after winning the toss backfired, despite debutant Christiaan Jonker's late blitz taking the game down to the wire.

David Miller laboured to 24 after being promoted to open the batting, while Heinrich Klaasen, who had starred with the bat in South Africa's six-wicket win at Centurion on Wednesday, made just seven.

South Africa slipped to 114-5 midway through the 17th over before Jonker (49 from 24 balls), rejuvenated his team's faltering chase, the right-hander dominating a sixth-wicket partnership worth 53 with Farhaan Behardien (15 not out).

However, a final-over target of 18 proved too much for the pair, Bhuvneshwar Kumar (2-24) dismissing Jonker with the last delivery of the game to see South Africa's valiant victory bid finish on 165-6.

India lost stand-in captain Rohit Sharma early in their innings at Newlands - the opener trapped lbw by Junior Dala for 11 - but Shikhar Dhawan and Suresh Raina added 65 for the second wicket.

Pushed up the order with Kohli sidelined, Raina made 43 from 27 balls before lofting Tabraiz Shamsi to Behardien in the deep.

Dhawan, meanwhile, was more circumspect while out in the middle, eventually falling for 47 from 40 deliveries when his decision to take on Dala's arm resulted in a direct hit by the fielder from the deep.

Hardik Pandya (21) and Dinesh Karthik - who hit three fours to make 13 in a hurry - added useful late runs for India, despite Dala returning figures of 3-35.

Their total turned out to be just enough in the final reckoning, securing India - who thashed their opponents 5-1 in the one-day series - a second trophy at the end of a long and taxing trip.