Jayawardene (136) slammed his 23rd Test century, while Warnapura (115) notched up his second ton as Sri Lanka reached a commanding 422 for four at close on the second day. Samaraweera (111 not out) scored his 7th Test century. The hosts were helped by three dropped catches.
Tillakaratne Dilshan (20) and Samaraweera are at the crease at stumps with the hosts are in sight of a big first innings total.
Off-spinner Harbhajan Singh provided the breakthrough by getting rid of Warnapura while paceman Ishant Sharma removed Jayawardene late in the day with an outswinger.