Sri Lanka started day three on 91-8 in their first innings but they were quickly dismissed for 101. England captain Alistair Cook then made the decision to ask Sri Lanka to follow on as they were 397 runs behind.
In their second innings, Sri Lanka made a far better fist of things with Kushal Silva, Angelo Matthews and Dinesh Chandimal all making half-centuries as they managed to get themselves up to 309-5 at the end of the day's play.
Sri Lanka still have work to do though as they are still 88 runs away from avoiding an innings defeat.
Sri Lanka were forced to follow on
The Sri Lankans began day three on 91-8, a long way behind England's 498, and were looking to try and get as many runs as they could before they were bowled out.
Unfortunately, they lost their ninth wicket with the third delivery of the day as Suranga Lakmal edged Stuart Broad behind for a duck to give the paceman his fourth wicket of the innings.
It didn't take England long to get the final wicket either, as James Anderson got the wicket of Lahiru Thirimanne for 19 as England bowled Sri Lanka out for 101.
Cook, straight away, enforced the follow on for the second consecutive test match as Sri Lanka were staring down the barrel at an innings defeat; they were 397 runs behind.
Sri Lanka begin much stronger second time around
Sri Lanka began their second innings much better, and reached lunch on 58 for the loss of one wicket to give a much better account of themselves the second time around.
The wicket to fall was Dimuth Karunartne for 26 of the bowling of the impressive Chris Woakes, who had the batsmen caught in the slips.
After lunch, the Sri Lankan batsmen came out in an aggressive mood. It was working until Anderson produced a wonderful delivery to get Kusal Mendis caught behind for 26.
Thirimanne came in at number four, which was a promotion up the order for him, and he started well but then got an absolute pearler from Moeen Ali who bowled him for 13 to leave the score on 100-3.
The wicket of Thirimanne brought Sri Lanka captain Matthews to the crease and, along with Silva, the pair saw their side to tea at 162-3.
Silva was 57 not out at tea, while Matthews was 35 not out as the pair showed the rest of their team that with application there are runs to had on a good pitch.
Matthews and Silva put on 82 for the fourth wicket
Matthews and Silva continued on after tea as the former passed 50, before the partnership was broken on 82. Steven Finn was the bowler who got the crucial breakthrough as Silva mistimed a pull shot straight to Johnny Bairstow for a well-made 60.
Chandimal joined Matthews at the crease after the wicket of Silva and the pair took Sri Lanka past 200 for the first time in the series.
Matthews was playing brilliantly before Anderson produced an unplayable delivery which the bastman edged to Bairstow for 80; England had the big breakthrough.
Chandimal unbeaten on 54 at the end of the day's play
Milinda Siriwardena joined Chandimal at the crease after the fall of the Matthew's wicket, and the pair saw their team to the end of play successfully without losing any more wickets.
Chandimal finished the day 54 not out while Siriwardena ended 35 not out; they will both come back on day four with an unbroken partnership of 87 as Sri Lanka finished day three on 309-5, still 88 runs behind England.