Strauss fell lbw to Chanaka Welegedara for a second-ball duck, but Jonathan Trott struck 58 and Alastair Cook hit 61 not out to make a Sri Lankan victory at Lord's extremely unlikely.
The match looks to be headed for a draw but Sri Lanka may face a repeat of day five of the first test, when England's declaration left them to bat out 50 overs. The tourists slumped to 82 all out and lost by an innings and 14 runs.
After rain washed out the whole of Monday's morning session, England took Sri Lanka's last seven wickets for 107 runs to bowl the tourists out for 479.
England's first-innings lead of just 7 looked particularly slender when Strauss was rapped on the pad of his trailing leg by an outswinger by Welegedara.
But Cook and Trott were wholly composed against Sri Lanka's medium-pacers and guided England to 18-1 at tea. They left almost everything outside the off stump and put on 50 from 75 balls before Farveez Maharoof clearly beat the edge of Cook's bat.
Trott fell when he stepped too quickly to an innocuous delivery from Rangana Herath and was bowled by the spinner, bringing Kevin Pietersen to the crease at 117-2.
Mindful of his well-publicised struggles against left-arm spin, the Lord's crowd cheered ironically as Pietersen met each of the last two balls of Herath's over with a tame forward defensive block. Pietersen started slowly but looked more like his old self when he smacked Herath back over his head for a boundary from the 26th ball he faced.
Pietersen was 15 not out from 44 balls when play ended at 7:30 p.m. local time - 90 minutes after the normal scheduled close.