Half-centuries from under-pressure captain Andrew Strauss and opener Alastair Cook on day two left England in a strong position to push for victory in the second Test against Sri Lanka.
Having bowled the hosts out for 275 in the morning session - with four wickets falling for the addition of 37 runs - England enjoyed their best batting day of a difficult winter to reach stumps 121 behind on 154 for one.
Although Strauss did not provide the long-awaited hundred he wanted to halt speculation about his future as skipper, his diligent 61 was crucial in building strong foundations for a first Test win of 2012.
He battled hard in a first-wicket stand of 122 with Cook, the pair's first century partnership in nine innings, with the latter due to resume on Thursday on 77.
Sri Lanka began the day on 238 for six, but Swann handed England the momentum by finishing with four for 75.
England were positive at the start of the afternoon session, with Strauss and Cook both finding the ropes inside seven deliveries, and working hard for singles.
Their tactics were much better against left-arm spinner Rangana Herath this time, with the much-debated sweep shot put into storage and both batsmen playing safer shots with the turn.
Both openers reached their half-centuries in the space of a couple of minutes, Strauss in 105 balls and Cook taking 164.
Dhammika Prasad saw Strauss and Cook collect fours to the vacant third-man area in the same over but when Sri Lankan heads began to drop, Tillakaratne Dilshan struck. Having edged the off-spinner short of slip two balls earlier, Strauss went to cut a ball too full for the shot and was smartly caught by wicketkeeper Prasanna Jayawardene.
Cook continued to compile watchfully for the remainder of the day, with new man Jonathan Trott (15no) offering typically cool-headed support at the other end.