Spinners Ravichandran Ashwin and Ravindra Jadeja picked up four wickets apiece to lead India to a comprehensive 208-run win over Bangladesh on the fifth day of their one-off cricket test at Hyderabad.
Bangladesh, chasing an improbable victory target of 459 in their second innings, were dismissed for 250 late in an extended second session as India stretched their unbeaten run to 19 test matches.
Bangladesh, ranked ninth among 10 test-playing nations, did well to bat for more than 100 overs in both innings given the struggles teams like South Africa, New Zealand and England faced recently while touring India.
"It's quite tough out there because their bowlers have a lot of variety, not only the spin department but the quicks also," visiting captain Mushfiqur Rahim told reporters.
"It was a learning curve for us to play against the number one team. Hopefully we learn from this and come up with better performance."
Playing their maiden test in India, Bangladesh, who resumed on 103 for three, suffered an early blow when Shakib Al Hasan departed in the third over of the day after adding just a single to his overnight score of 21.
Left-armer Jadeja made the breakthrough when he landed the ball in the rough created by the bowlers' footmarks and it spun and jumped to hit Shakib's glove, leaving Cheteshwar Pujara to complete a simple catch at short leg.
First-innings centurion Mushfiqur and Mahmudullah then launched a mini-revival with a 56-run fifth-wicket partnership that frustrated the world's number one ranked test side.
India skipper Virat Kohli raised a few eyebrows by keeping spin spearhead Ashwin out of the attack until the 18th over of the day but when the world's top-ranked bowler was finally deployed, he needed just four deliveries to break the stand.
Mushfiqur made the mistake of looking to attack the off-spinner early in his spell but the Bangladesh skipper only succeeded in mistiming a shot towards mid-off, where Jadeja held on to a routine catch to dismiss the batsman for 23.
Mahmudullah showed more patience during his knock of 64, his 13th test half-century, and kept Bangladesh's hopes of a draw alive by sharing a 51-run stand with Sabbir Rahman for the sixth wicket.
Those hopes were dashed after lunch though, when both batsmen were snapped up by Ishant Sharma during an inspired spell of fast bowling, Sabbir falling leg before for 22 and Mahmudullah caught at fine leg attempting a pull shot.
Mehedi Hasan, who scored his maiden test fifty in the first innings, and Kamrul Islam Rabbi defied India for a further 14 overs before the former became Jadeja's third wicket of the innings as India closed in for the kill.
Jadeja then dismissed Taijul Islam to put India on the brink of their fifth consecutive test triumph and the victory was confirmed when Taskin Ahmed fell leg before to Ashwin after Kohli plumped for a review in a confusing passage of play.
"The bowlers found ways to get batsmen out, that's been the quality of our team in the past couple of years," Kohli said after being adjudged player of the match for his first innings double hundred.
"Ishant's spell in the second innings was outstanding, coming and bowling with a soft ball, getting a bit of reverse (swing) and bowling with pace was really good to see.
"If we have two world class spinners in your side, you can tell the fast bowlers to come in and attack. The partnership between spinners and fast bowlers has been wonderful to see."