By
Shakib Al Hasan picked up the last wicket of Suranga Lakmal (42), one over after Dilruwan Perera was run out for 50 at the P. Sara Oval.
Perera shared 80 runs with Lakmal in the ninth wicket after Sri Lanka resumed on 268-8.
Shakib finished with 4-74 runs.
Sri Lanka lead the two-match series 1-0 after winning the first Test in Galle by 259 runs.