Sri Lanka threw away a decent position in the final Test against England on Saturday, collapsing from 2-183 at tea to 240 all out as Adil Rashid and Ben Stokes skittled the hosts in Colombo.

At the close of a rollercoaster second day England were three without loss after four overs when bad light stopped play, 99 runs ahead with a 3-0 whitewash in their sights.

"We came out after tea, had the belief, had the mindset and things just changed," said Rashid, who finished the innings with 5-49.

"It worked out perfectly, Stokesy at one end bowling nice and aggressive and me at the other end mixing it up, bowling my variations," he added, after Stokes collected 3-30.

In the opening session Sri Lanka's bowlers had wrapped up England's first innings for 336 within half an hour, the visitors losing their final three wickets for just 24 runs.

Resuming on 7-312 after Jonny Bairstow had put his marker down to be England's permanent Test number three with a no-nonsense 110 the previous day, Moeen Ali continued his indifferent series with the bat, falling for 33.

Stuart Broad followed for a duck and Jack Leach for 2.

Left-arm wrist spinner Lakshan Sandakan was the pick of the Sri Lankan bowlers, taking 5-95 while finger spinners Dilruwan Perera and Malinda Pushpakumara took the other five between them.

With bat in hand and only five overs of the day played, Sri Lanka's batsmen laid solid foundations.

Danushka Gunathilaka was the only man out for Sri Lanka before lunch, caught spectacularly by Keaton Jennings at short leg for 18 off Leach – the first of four catches at short-leg for the Lancashire opener.

Dimuth Karunaratne, dropped at slip by Joe Root off Broad early in his innings, then put on a 142-run third-wicket partnership with Dhananjaya de Silva.

Just before tea, de Silva fell for 73, dismissed by another lightning catch by Jennings off Rashid. But with Karunaratne still in and Root rueing his error, Sri Lanka looked comfortable.

But in the first over after tea Karunaratne went for 83, with Jennings again the catcher as he edged Rashid, and the collapse began.

"They played exceptionally well before lunch but we had a positive mindset and knew if we stick to our plan things would change," said Rashid.

Angelo Mathews fell next, the ball coming off the toe of his bat to keeper Ben Foakes off Stokes for five, before Roshen Silva became Jennings's fourth victim off Rashid for three.

Rashid said Jennings' close fielding had made a "big difference".

"This series he's proved he's an exceptional short-leg fielder. He reads the game well. He's alert. He practises hard in the morning and he gets his rewards.

"It's nice having him in there for the spinners. We're happy!"

Stokes, hammering in the ball with aggression and intent, then did for Niroshan Dickwella, caught behind by Foakes for 5, and Sri Lanka were reeling.

Number four Kusal Mendis went for 27, an easy catch for Stokes at slip off Rashid. Then a direct throw ran out Sandakan for two as he tried to steal a run off a misfield.

Pushpakumara survived an lbw review and hit the next ball for four. The next review went England's way though, as he went lbw to Rashid for 13, and Sri Lanka were all out.