James Anderson took a third Test 10-wicket haul as England thrashed Sri Lanka by an innings and 88 runs in the first Investec Test at Headingley.
Anderson ended with match figures of 10-45 on Saturday as he took 5-29 in Sri Lanka's second innings to go with his five-for in the first.
For a large part of the third day though, it looked like England would be frustrated in their push for victory by both the weather and some determined Sri Lanka batting.
Though Anderson removed Dimuth Karunaratne for seven in the third over, and opening partner Kaushaul Silva (14) in the 11th, the visitors doggedly fought to 77-2 at lunch, with Stuart Broad and Steven Finn failing to find their straps early on, and Ben Stokes off injured.
Kusal Mendis - 47 not out at the time - was dropped by James Vince off Broad with the final ball of the first session to further frustrate England after Bairstow had earlier put him down on 29.
Rain had taken the players off early and when play did finally resume after an extended interval, Mendis (53) notched a deserved maiden Test fifty, but a reinvigorated England started to make regular inroads.
Moeen Ali removed Dinesh Chandinal - bowled chopping on - in his solitary over and the first following the break.
Sri Lanka skipper Angelo Mathews and Mendis then fell in consecutive overs, with the former edging Broad (1-57) behind to Bairstow and the latter playing Anderson onto his stumps.
Bairstow added a ninth catch to his impressive first Test haul as Anderson took the wicket of Dasun Shanaka, while Finn picked up his first of the series shortly before tea, Rangana Herath caught at cover.
Sri Lanka didn't last long after the interval, Finn taking the wickets of Dushmantha Chameera and Lahiru Thirimanne (16) in the first over back, before Anderson sealed England's win and secured his 10-for by bowling Nuwan Pradeep.
Catch highlights from day three of the third Test from 8.30pm on Sky Sports 1, with The Verdict following immediately after at 9.30pm.