Alastair Cook's seventh Test hundred allied with more wet weather helped England rescue the third Test in Galle as the match finished in a draw.
Two heavy afternoon showers foiled Sri Lanka's attempts to seal a 2-0 series victory, the second of which came at 3.20pm after Cook was dismissed for 118.
Such was its ferocity, in fact, it left groundstaff facing a hopeless task to cover the playing area before puddles gathered on the outfield. Play was finally abandoned shortly after tea, with England on 251 for six.
Moments earlier, left-hander Cook was dismissed - after being dropped in the same over - when Chanaka Welegedara nipped one back to find the outside edge.
It was an intense 40-minute period between the downpours, which included a claim for a low catch at first slip by Sri Lanka captain Mahela Jayawardene off Muttiah Muralitharan, from an edge by Matt Prior (19 not out), which was turned down flat by umpire Asad Rauf. Three wickets in four balls during one chaotic Muralitharan over before lunch spiralled England into deep trouble.
But the first spell of rain one hour into the afternoon session allowed Cook - whose innings was the cornerstone of English defiance - and Prior to return to the dressing room.
Having followed on 418 runs in arrears, England were 20 minutes short of lunch when the whole complexion of the match changed.
Sri Lanka managed just one wicket in the opening couple of hours but Kevin Pietersen fell into the home side's trap to trigger a rapid decline to 202 for five at the interval.
With Murali operating around the wicket, Pietersen picked out Jayawardene, strategically placed at short midwicket. Two balls later, Paul Collingwood was lured out of his ground to be stumped by Prasanna Jayawardene.
And then Ravi Bopara completed a pair for the match when he edged wide of slip and fatally took a couple of steps, no doubt thinking of a run. Mahela Jayawardene dived to his right and relayed the ball to his namesake in a flash to beat Bopara's despairing dive by inches.