Published: 2018-03-13 02:39:01 BdST
Paceman Thakur led India's disciplined effort with the ball to restrict Sri Lanka to a below-par 152 for nine in a rain-hit match which was reduced to a 19-overs-a-side contest.
Pandey combined with Dinesh Karthik, who made 39 not out, in a 68-run partnership to help India overwhelm the target with nine balls to spare.
Having avenged their loss to Sri Lanka in the tournament opener, India top the points table with two wins from three matches and they take on Bangladesh in the next match on Wednesday.
Leading the side in the absence of rested regular skipper Virat Kohli, India captain Rohit Sharma elected to field after light rain caused a 95-minute delay to the start of the match.
Sri Lanka got off to a blazing start, milking 24 runs in the first couple of overs before Danushka Gunathilaka became the first of Thakur's four victims in the match.
Kusal Mendis hit three sixes and as many boundaries in his belligerent 55 to register his second successive half-century in the tournament.
Sri Lanka, however, could not make the most of the start and lost wickets at regular intervals to squander the momentum.
Upul Tharanga made 22 and Dasun Shanaka contributed 19. Thakur dismissed Shanaka and Dushmantha Chameera off successive deliveries in the final over of the Sri Lankan innings.
Spinner Akila Dananjay denied India a strong start, dismissing both openers, Sharma and Shikhar Dhawan, cheaply.
Suresh Raina hit a couple of sixes in his breezy 27 but India looked to be in trouble at 85 for four in the 10th over.
Pandey and Karthik then took over, largely shunning risks and playing with calculated aggression to get India over the line.