An injury-ravaged Bangladesh made a flying start, courtesy Liton's maiden ODI hundred (121 off 117 balls), as he added 120 runs with fellow opener Mehidy Hasan Miraz (32).
Just when it looked like Bangladesh would make a match of it, things went downhill as India's tiny neighbours suffered an all-too-familiar batting collapse, losing 10 wickets for 102 runs. The innings lasted 48.3 overs.
Chinaman Kuldeep's 3 for 45 was well complemented by Kedar's 2/41 in nine overs of unconventional off-breaks, as Bangladesh frittered away the initiative with poor shot selection.
Mahendra Singh Dhoni's smart work behind the stumps also played its part as much as Ravindra Jadeja's electric fielding inside the 30-yard circle.
Promoting lower-order batsman Miraz as opener was a masterstroke by skipper Mashrafe Mortaza, who wanted to preserve his regular opener Imrul Kayes and Soumya Sarkar.
Miraz did his job perfectly by dropping anchor as Liton hit a flurry of boundaries off Jasprit Bumrah (1/39) and Bhuvneshwar Kumar. Anything on his legs was dispatched to the boundary.
When Yuzvendra Chahal (1/31 in 8 overs) was introduced, he was hit over deep mid-wicket for a six, as India found it difficult to get a breakthrough.
However, things changed once Miraz was caught by Ambati Rayudu in the cover region off Kedar's bowling.
The moment Kedar started bowling his side-arm off-breaks, Bangladesh couldn't force the pace as he mixed his deliveries well. He bowled an impressive 28 dot balls.
Imrul Kayes (2) was adjudged leg-before off Chahal and the in-form Mushfiqur Rahim (2) pulled a rank half-tracker from Kedar straight into the deep mid-wicket's hands.
From 120 for no loss, Bangladesh slumped to 137 for three and things went from bad to worse from thereon.
Mohammed Mithun (2) was the next to go. Jadeja dived full stretched to stop a cover drive from Liton and then threw the ball back to the non-striker's end after watching Mithun halfway down the pitch.
Mahmudullah (4) played across the line off Kuldeep and Bumrah took a well-judged catch at the deep mid-wicket boundary.
Liton, who carried manfully by hitting 12 boundaries and two sixes, was finally stumped by a hair's breadth when he missed Kuldeep's wrong 'un.
While Liton was stumped while playing a defensive stroke, skipper Mashrafe jumped out to try a wild heave, only to miss Kuldeep's googly and get stumped by Dhoni.
In the end, what promised to be a score in excess of 275 was brought down to 222.