The Indians ended with 129 for two wickets, chasing a winning target of 276 runs on the final day at Nondescripts Cricket Club, Colombo.
India take on Sri Lanka for three Tests starting July 23 at Colombo.
Batting first after winning the toss, Sri Lanka Board XI were dismissed for 224. In reply the Indians declared their first innings at 196 for eight wickets, conceding the hosts a 28-run first innings lead.
Sachin Tendulkar top scored with 69 runs while Dinesh Karthik made 58 not out.
Sri Lanka Board XI ended its second innings at 247 for six. Chamara Silva followed up his 68 runs in the first innings with an unbeaten 59 in the second.