Fatullah, Bangladesh: India managed to score 264/9 after the late collapse threatened to restrict India below 250 against Sri Lanka on a slow wicket here Friday.
Opener Shikhar Dhawan set up India for a bigger score at 196-3 in the 40th over, but he was bowled by Mendis for 94, his second score in the 90s in his last three one-day internationals. Dhawan's departure began Sri Lanka's fightback. Mendis also removed Dinesh Karthik, replacing the injured Mahendra Singh Dhoni behind the wickets, for 4 in the same over.
Dhawan, who has five ODI centuries, also missed out on a ton two weeks ago against New Zealand, being out on 98.
Ravindra Jadeja was not out on 22 and Ajinkya Rahane also scored 22, but India scored only 64 off the last 10 overs, coming under sustained pressure.
Lasith Malinga ended with 1-58, but bowled with nagging line and length at the death to check the Indian batsmen.
Mendis, who also bowled Virat Kohli for 48, proved his inclusion was a wise decision as he was accompanied by Senanayake and left-arm spinner Chaturanga de Silva, who took 1-51.
Kohli, the century-maker in the win against Bangladesh, made 48 off 51 balls that included four boundaries and one six.
He and Dhawan added 97 for the third wicket and promised to bring up more, only to be denied by Mendis, who took both of them out.
While Dhawan was flattened by Mendis' quicker delivery, his carom ball did the trick to earn the prized scalp of Kohli.
Senanayake dismissed opener Rohit Sharma for 13 and later got Ajinkya Rahane with a flighted delivery on 22, and Stuart Binny leg before for a duck.
Mohammed Shami, who hit Mendis for two sixes, was not out on 14.
Sri Lanka won its first match against Pakistan by 12 runs while India beat host Bangladesh by six wickets.