Jayawardene hit 20 boundaries and three sixes in 289 balls in what is his 30th test century after Sri Lanka had slumped to 15-3 by the fourth over at Galle International Stadium.
Jayawardene, who has now scored 150 runs in an innings 13 times, was part of moderate but useful partnerships with Thilan Samaraweera, Dinesh Chandimal, Prasanna Jayawardene and Rangana Herath.
He was lucky to be dropped three times, two of those being grassed by Monty Panesar.
Jayawardene won the toss and elected to bat first but England's bowlers used the early movement on the pitch to rattle the top order.
James Anderson struck in two successive balls in the third over when Thirinamme's drive at an outswinger went to Graeme Swann at slip and he then had Kumar Sangakkara caught behind by Matt Prior. Anderson finished with figures of 3-56.
Stuart Broad had Tillakaratne Dilshan caught at slip by captain Andrew Strauss to reduce the home team to 15-3.
Jayawardene and Samaraweera were patient in an attempt to salvage the innings, the team reaching lunch at 66-3.
Samaraweera was run out for 20 with only one run added to the total soon after lunch. Samaraweera had looked composed and was unlucky when a straight drive brushed the bowler's fingers and hit the stumps, catching him short of his crease at the non-striker's end.
Jayawardene and Samaraweera added 52 runs for the fourth wicket.
Left-arm spinner Samit Patel picked up his maiden test wicket on debut when he had Dinesh Chandimal caught by Ian Bell for 27, ending another 61-run stand.
Jayawardene and Herath shared 62 runs for the eighth wicket, the best partnership of the day. Herath's share of the partnership was only five runs.
Patel returned 2-27 off nine overs.