Sri Lanka fought their way into contention on the third morning of the second Investec Test against England as the hosts endured a poor session.
The hosts lost their last four wickets for 45 at Headingley, their 365 all out enough for a 108-run lead that really should have been much larger.
Indeed, from centurion Sam Robson's dismissal on the second evening England lost eight wickets for 87 and a large slice of momentum with it.
Twelve overs in helpful conditions gave them the chance to hit back but they failed to match the efforts of Shaminda Eranga and Angelo Mathews, who had earlier taken two wickets apiece, and the tourists reached lunch 86 behind at 22 without loss.
England's game plan for the morning would have entailed a short bedding in period for Matt Prior and Chris Jordan followed by a spell of brisk scoring from them and lower-order shot-makers Stuart Broad and Liam Plunkett.
But with Eranga swinging the ball on an awkward full length and Mathews producing his best spell in Tests, it never got off the ground.
Instead they were hustled out with a useful, but hardly intimidating, advantage.
Jordan had already been given one life, a catchable chance passing unclaimed between wicketkeeper and first slip, by the time he fell for 17.
Eranga, who had been the unlucky bowler on that occasion, this time had the safe hands of Mahela Jayawardene to rely on as he leapt in front of Kumar Sangakkara to pouch the chance.
It was his 196th Test catch, taking him level third on the all-time list with Ricky Ponting.
Mathews (four for 44) then struck in successive overs, Broad offering himself up at gully before a fierce off-cutter completely confounded Liam Plunkett and pegged back middle stump.
Prior (27no) was the only man who seemed on firm ground at the crease, guiding the lead towards three figures as wickets tumbled.
With only James Anderson for company, Prior took England past that psychological mark by hoisting Eranga for six over long-on.
There was no further opportunity for fireworks as Eranga bounced Anderson, whose evasive action resulted in a simple return catch.
Although disappointed by their collapse, Sri Lanka's success and the gathering clouds would have enthused England's seamers.
But despite having a new ball to exploit, they were largely uninspired.
Anderson should have had Dimuth Karunaratne caught at second slip when he produced a beauty that straightened on the batsman, but Jordan fumbled the chance at second slip.
That aside, Anderson struggled to engage the Sri Lankans.
Broad had one minor success, Karunaratne edging the ball wide of third slip.