Keaton Jennings and Ben Stokes provided moments of magic in the field while England's spinners thrived in foreign conditions. Here we provide marks out of ten for the series.
Ben Foakes (277 runs at 69.25; eight catches and two stumpings)
A wonderfully poised arrival at the top level. Foakes was the top run-scorer on either side and, in Jos Buttler's words, gave other keepers a "wake-up call" with the high standard of his glovework. He made a century on his first day in Test cricket - becoming the first England keeper to make one in Asia in the process - and then equalled the record for the quickest dismissal by a debutant keeper with the second delivery of the Sri Lanka reply. Within a few hours he had taken a stumping, too. Classy and selfless with the bat, almost flawless with the gloves, Foakes deservedly won the player of the series award.
Keaton Jennings (233 runs at 46.60)
While the runs fell away after a wonderful start in Galle (where he scored 192 in the game), Jennings found a way to contribute with a succession of outstanding catches - and a memorable assist - at short leg that may have taken expectations of the role to a new level. His high mark reflects his ability to shape games, rather than any particular statistical excellence - in Pallekele, in particular, his fielding might have made the difference between winning and losing. That century in Galle was very good, though the Australia seamers may well be licking their lips in anticipation of bowling to him in the Ashes.
Ben Stokes (187 runs at 31.16, five wickets at 20.40)
Immense. The Sri Lanka coach, Chandika Hathurusingha, rated Stokes as the difference between the sides and it is hard to disagree. Stokes added a new dimension to the England attack by somehow managing to bounce batsmen out on sluggish surfaces, finishing as the fastest bowler in the series (he was the only man to break 90mph) and the highest wicket-taker among seam bowlers. Outstanding in the field - his run-out of Dimuth Karunaratne in Pallekele was a high point - he also produced two important half-centuries, and two scores in the 40s, with the bat. Anyone following the series via scorecard may wonder what the fuss is about; anyone watching it will know he was England's most valuable player.
Jos Buttler (250 runs at 41.66)
In a relatively low-scoring series, Buttler contributed several important innings with five scores between 34 and 64. Most impressive was his ability to adapt his game to the conditions and requirements of his team. So while he swept his way to success in Pallekele, he did it in Colombo by coming down the wicket to the spinners. In more comfortable batting conditions, his contributions may look modest. In this context, they were vital.
Jack Leach (18 wickets at 21.38)
The man who made England's spin attack work. Leach's control meant the pressure was lifted from England's other spinners who could instead concentrate on a more aggressive approach. Experienced in bowling in helpful conditions, he remained calm and patient whatever the circumstances and claimed a maiden five-wicket haul in Pallekele and calmed nerves in Colombo with a brilliant direct-hit run-out. He finished level with Moeen as England's highest wicket-taker in the series.
Adil Rashid (113 runs at 28.25, 12 wickets at 28.16)
Finally utilised in the role that suits him best - as a partnership breaker rather than in a defensive capacity - Rashid was a huge asset for England. While the most obvious example came in Colombo, where he ended with his Test-best figures in the first innings and has probably never bowled better, he also claimed key wickets in Galle (where he broke a dangerous stand between Angelo Mathews and Dinesh Chandimal) and Pallekele (there were a couple of beautiful legbreaks in Sri Lanka's first innings) and produced four scores in excess of 20 which proved valuable in a low-scoring series.
Joe Root (229 runs at 38.16)
You can pick faults with his tactics, with his catching and with the fact that he only once provided an important contribution with the bat - his match-defining century in Pallekele was probably the innings of the series - but Root is building a hugely entertaining side that has just achieved something no England team has ever managed before: a whitewash in Asia. The unity of purpose and the commitment to the aggressive style reflect well on Root's ability to unite the side and provide it with increasingly influential leadership.
Moeen Ali (78 runs at 13.00, 18 wickets at 24.50)
The lack of runs, and a couple of soft dismissals, was a disappointment, but the bowling more than compensated. Four times Moeen claimed four-wicket hauls and he often bowled with a bite that rendered him England's most potent option. He may never be a consistent bowler in the manner of many old-school offspinners (and he may well regret not taking his opportunity with the bat at No. 3) but Moeen's best deliveries, with his drift, dip and spin, are as good as any of them.
Sam Curran (112 runs at 37.33, one wicket at 50.00)
While conditions did little for his bowling, Curran produced a couple of important contributions with the bat. After making an important 48 in Galle, he top-scored in England's first innings in Pallekele, with 64, when he dominated a tenth-wicket partnership of 60. Fulfilled some of his bowling duties by claiming a wicket with the new ball in Galle before a side strain ended his series prematurely.
Jonny Bairstow (125 runs at 62.50) Recalled for the final Test, Bairstow responded with a century from No. 3 and was named Player of the Match. He could hardly have done more in the opportunity provided. Despite his obvious ambitions to reclaim the gloves, all the reports suggest he reacted positively and supportively around the rest of the team.
James Anderson (one wicket at 105.00)
Anderson seemed disappointed with his low-key contribution ahead of the final Test, but he played his role. He was part of tenth-wicket stands that added 101 runs across the Pallekele Test, while his economy rate (2.56 runs per over; the lowest on either side) created pressure that other bowlers exploited.
Rory Burns (155 runs at 25.83) The scores don't show it, but Burns looked reasonably comfortable for his first experience at this level. He was a bit unfortunate with both his dismissals in Galle (a run-out and an edge down the leg-side) but batted beautifully in Pallekele. The lack of high-scores may gnaw away at him, and could put him under pressure in due course - not taking advantage of a first-day pitch in Colombo was a missed opportunity - but there was enough here to suggest Burns warrants patience.
Stuart Broad (no wickets)
Bowled well in the first innings in Colombo - Root dropped two slip chances off him - and took a sharp catch in the field. Reacted positively and selflessly to his absence from the side.