Ravichandran Ashwin and Shreyas Iyer combined to help India prevail in a low-scoring thriller against Bangladesh and complete a 2-0 series sweep following a nervy three-wicket victory in the second Test on Sunday.
Chasing 145 on a turning track where the ball often kept low, India were already on the back foot after a top order meltdown had left them reeling at 37/4 on Saturday.
Resuming on 45/4 on day four of the contest, the touring side needed 100 runs to sweep the series and boost their chances of making the final of the World Test Championship.
Their crisis only deepened, and they slumped to 74/7 after Shakib Al Hasan sent back Jaydev Unadkat and after Mehidy Hasan removed Rishabh Pant and Axar Patel (34).
Ashwin could have been back in the hut too but Mominul Haque spilled a catch at short leg when the batsman was on one.
It proved a costly mistake as Ashwin went on to make 42 not out, forging a match-winning 71-run partnership with Iyer, who remained unbeaten on 29.
The duo absorbed pressure and batted resolutely to maintain India's unbeaten test record against Bangladesh.
Ashwin hit Mehidy for a six to bring India close to the target and then smashed successive boundaries to seal victory in the morning session.
"There's always a belief that someone will put their hands up and do the job," stand-in India captain KL Rahul said.
"But it's also human to get nervous and have some nerves in the dressing room, and I'm not going to lie and say that there was no nerves in the dressing room and that everything was calm."
"We never thought it was going to be a cakewalk. We always knew it was going to be difficult and we had to really grind and work hard for those runs."
Off-spinner Mehidy claimed 5/63, nearly bowling Bangladesh to a memorable victory, and Bangladesh captain Shakib was pleased with their fighting spirit.
"We put on a good show, very good test cricket. That's what the crowd loves," Shakib said.
"The way we fought in the two test matches was impressive."
"I'm sure from here on we can only improve and, hopefully, next year it will be a different result for Bangladesh cricket, especially in test match(es)."
Ashwin, who also claimed a match haul of six wickets, was adjudged player-of-the-match.
India's Cheteshwar Pujara bagged the player-of-the-series award for aggregating 222, which included a century.
India were without several frontline players, including regular captain Rohit Sharma, pacer Jasprit Bumrah and all-rounder Ravindra Jadeja, through injuries.
Bangladesh had prevailed 2-1 in the preceding one-day international series between the neighbours.