Sri Lanka's bowlers restricted England to 336 all out in their first innings of the third and final Test on Saturday as the visitors' tail folded inside half an hour.
Reaching a decent 312-7 overnight after a Jonny Bairstow century, the visitors only managed to add 24 runs with Moeen Ali falling for 33, Stuart Broad out for a duck and Jack Leach making 2.
Ali skipped down the pitch and lifted the ball to long off, Broad was bowled trying to sweep left-arm wrist spinner Lakshan Sandakan and Leach's attempted heave saw him caught.
Sandakan was the pick of the bowlers, taking five wickets for 95 runs while finger spinners Dilruwan Perera and Malinda Pushpakumara took 3 for 113 and 2 for 64 respectively.
Sri Lanka were meanwhile 12 without loss.
England are 2-0 up in the series.