The Sri Lankans were tottering at 82-4 before Kandamby and Chamara Silva rescued them with a 100-run fifth-wicket partnership.
India captain Anil Kumble took 3-30 while his off-spin partner Harbhajan Singh took 2-52 to fold up the hosts' Lankan innings in 71.5 overs at the Nondescripts Cricket Club.
Kandamby, who is yet to make his Test debut, hit 11 fours during his 138-ball knock while Silva made 68 after captain Jehan Mubarak won the toss and elected to bat.
Kandamby's fine innings came to an end when he edged behind to wicketkeeper Dinesh Karthik off paceman Munaf Patel while Silva was sent packing by Harbhajan.
In reply, the Indians were four for one wicket at stumps after losing in-form opener Gautam Gambhir early in what is the only warm-up game ahead of the three-Test series beginning here on July 23.
India have not won a Test series in Sri Lanka for 15 years.
Brief scores after first day:
Sri Lanka Board XI: 224 in 71.5 overs (T. Kandamby 84, C. Silva 68, J. Mubarak 25) India: 4 for one in 0.4 overs.