England paceman James Anderson claimed his 30th Test five-wicket haul on day two of the second Test against Sri Lanka on Saturday.

Anderson, 38, denied wicketkeeper-batsman Niroshan Dickwella a century after sending him back on 92 and took one more wicket to surpass his previous best of 5-75 in Galle in 2012.

The pace spearhead also became the oldest quick to take a five-for in the sub-continent, surpassing New Zealand great Richard Hadlee who achieved the feat at 37 years of age.

His 30th Test five-for also makes him better than Australia pace great Glenn McGrath who has 29 to his name in a illustrious career that ended in 2007.

Anderson, who replaced Stuart Broad in the XI for this Test, made it count as he struck in his first over of the day to send Angelo Mathews caught behind for 110.

Anderson, who took his Test tally to 606 – the most by a quick bowler – returned figures of 6/40 to help bowl out Sri Lanka for 381.