Moeen Ali struck early to remove nightwatchman Malinda Pushpakumara but Dimuth Karunaratne and Dhananjaya de Silva threatened to grind the tourists down with a confident 96-run stand that comfortably eclipsed anything England managed in their first-innings 285.
Then Stokes showed his uncanny ability to swing a game in his side's favour, producing a wonderful direct hit to see off Karunaratne (63) and an equally memorable one-handed slip catch off Kusal Mendis' edge. By lunch Sri Lanka were 139 for four.
— England Cricket (@englandcricket) November 15, 2018
After Pushpakumara's ugly heave to mid-wicket, Karunaratne and De Silva stayed together for 146 deliveries, repelling all three of England's frontline spinners as well as three exploratory overs from captain Joe Root and a brief burst from James Anderson.
With Karunaratne easing to his half-century and De Silva quickly catching up, it needed something outlandish to break their rhythm and Stokes obliged. Pouncing from gully when De Silva poked into the off-side and set off for a quick single, the all-rounder intercepted on the bounce and hurled down the only stump he had sight of from an unhelpful angle, leaving Karunaratne a couple of inches short.
His next intervention was equally jaw-dropping, flinging out his left hand to snatch the sharpest of slip catches after Jack Leach snared Kusal Mendis' edge after just three balls.