At tea on today's second day, Australia were 96 for seven in reply to England's first innings 361 -- a deficit of 265 runs and still needing a further 66 to avoid the follow-on.
Off-spinner Swann, who earlier in the day had smashed Australia for a quickfire 28 not out batting at No 11, had tea figures of three wickets for 27 runs in 15 overs.
Brad Haddin, whose 73 so nearly denied England a 14-run first Test win at Trent Bridge, was two not out, with Peter Siddle unbeaten on nought, as he faced another rescue mission.
Shane Watson, in the story of a Test-batting career that has yielded just two hundreds, looked good making 30.
More From This Section
But, playing across his front pad, the opener was lbw to Bresnan, recalled after England dropped Steven Finn.
Poor reviews cost Australia dear at Trent Bridge.
But Watson still asked for a referral only for New Zealand's Tony Hill to confirm Sri Lankan on-field colleague Kumar Dharmasena's original decision.
Soon after lunch Chris Rogers was lbw in bizarre fashion.
South African umpire Marais Erasmus gave Rogers out lbw for 15 on the left-hander's Middlesex home ground.
Rogers opted against seeking a review, although replays later indicated the ball would have missed leg stump.
Phil Hughes fell next, out for one when he nicked a wide delivery from Bresnan to wicketkeeper Matt Prior.