Ben Foakes completed a fine debut century and took a catch from his second ball as wicketkeeper, with England rampant on the second morning of the first Test against Sri Lanka.
Foakes resumed on 87 after his day one rescue mission in Galle and reached his hundred in style before being last man out for 107 as the tourists posted 342.
Sri Lanka then slumped to 42 for four at lunch, Foakes' fairytale continuing when he held a simple chance from the bowling of James Anderson within seconds of taking up the gloves.
England began on 321 for eight and Foakes immediately banished any nerves by driving the first ball of the morning for four past extra cover.
He had 95 when Jack Leach nicked to slip, Dilruwan Perera's fifth victim, but a strong pull and a punch down the ground off Suranga Lakmal saw him over the line.
In doing so he became the 20th Englishman to hit a hundred in his first Test and just the second wicketkeeper, following Matt Prior in 2007.
After a few minutes to compose himself, Foakes returned behind the stumps and within seconds bagged his first dismissal in international cricket – a simple gather after Dimuth Karunaratne felt for Anderson's outswinger.
It was the start of a desperate top-order display. Kaushal Silva fell lbw to a full inducker from Sam Curran, Kusal Mendis edged Leach to Ben Stokes at slip and Dhananjaya de Silva was bowled by Moeen Ali after botching an ambitious sweep.