England's batsmen were again undone by spin but Graeme Swann hauled them back into contention as 17 wickets tumbled on day two of the first Test against Sri Lanka in Galle.
The tourists were bundled out for 193 - a first-innings deficit of 125 - after slow left-armer Rangana Herath took six wickets and off-spinner Suraj Randiv two.
Only Ian Bell's 52 and a late flurry of boundaries from the tail-end saved the side from meltdown, as the flaws exposed by Pakistan earlier in the year were again put under the spotlight.
But, once again, England's attack performed brilliantly with Swann taking four wickets after tea to leave Sri Lanka 84 for five. They will resume with a lead of 209, while Swann will hope to add to superb figures of four for 28.
Sri Lanka resumed their innings on 289 for eight, adding 29 for their last two wickets.
Both went to James Anderson, who recovered from a first over that contained four boundaries to claim his 12th Test five-for.
Chanaka Welegedera was undone by a sumptuous slower ball before Anderson added the prize scalp of Mahela Jayawardene for a memorable 180.
England were looking for a big total in response but lost the man most likely to bat for time when Alastair Cook prodded forward to a Suranga Lakmal inswinger and was lbw for nought.
Andrew Strauss and Jonathan Trott took advantage of some attacking fields to put on a brisk 40 against the seamers but as soon as Herath came on after nine overs it was a different game.
Trott donated his wicket in baffling fashion, stumped after letting a full toss disappear between bat and pad.
He then collided with wicketkeeper Prasanna Jayawardene and collapsed dramatically before departing in a daze.
Strauss was gone for 26 just 13 balls later, given lbw on review attempting a pre-meditated sweep against Herath.
Bell seemed comfortable from the off, taking six and four off Herath to take England to 57 for three at lunch.
He continued to attack after the break, cutting and driving Herath for boundaries in the first over of the afternoon.
Kevin Pietersen also attempted to be positive, but his flashy drive at Welegedera - from his first ball of the session - merely diverted the ball into his stumps.
England's woes continued as Matt Prior, promoted to number six for this match, lasted just seven deliveries before becoming Herath's third victim.
Playing deep in the crease, he was undone by the turn and pinned in front of middle stump.
A score of 72 for five was not the ideal scenario for a debut Test innings and Samit Patel mustered just two singles before he mimicked Prior's dismissal, lbw on the back foot against Herath.
With Bell scoring steadily at the other end, Stuart Broad set the tone for England's tail-end counter-attack.
He went after Lakmal, unleashing five fours and a mighty pulled six to reach 28 before another botched sweep handed Herath his fifth wicket.
Swann followed Broad's lead, scoring all of his 24 runs in boundaries before Tillakaratne Dilshan's reaction catch at short mid-wicket handed Randiv a first success.
Bell had 52 when he was ninth man out - the sixth to Herath - losing his off stump to one that pitched on middle and leg.
Anderson (23no) and Monty Panesar (13) added a breezy 36 for the last wicket, further showing up the specialist batsmen, before the latter was leg before to Randiv.
England's bowlers must have dreaded another lengthy stint after such a brief rest but Broad needed just three balls to spear one through Dilshan's defences without scoring.
Swann was also up for the challenge.
Having taken nought for 92 on day one, he roared back to form with two wickets in his first seven balls.
Lahiru Thirimanne was bowled when Swann turned one away from the left-hander and the crucial wicket of Jayawardene followed, held by Anderson at slip for five.
Sri Lanka were 14 for three at that point, with the momentum shifting again.
Thilan Samaraweera and Kumar Sangakkara halted the charge for 10 overs before Swann located Sangakkara's edge to make it 41 for four.
With the close approaching Samaraweera was stumped for 36 as he charged Swann only to be beaten on the outside edge.