Skipper Sangakkara hit an impressive 73, while Jayawardene was unbeaten with a solid 51 as Sri Lanka reached 165-3 in their first innings at tea on the third day in reply to the West Indies’s 580-9 declared.
Thilan Samaraweera was the other not-out batsman on 11 at the break as only 4.1 overs were possible in the afternoon session due to rain.
The West Indies bowled well in the overcast conditions, taking two wickets through paceman Kemar Roach and Dwayne Bravo in the morning session to put Sri Lanka on the back foot.
Roach dismissed opener Tharanga Paranavitana (10) and Bravo bowled Sangakkara as the hosts added 94 to their overnight total of 54-1 for the loss of two wickets in the two-hour session.
Sangakkara batted confidently during his 102-ball knock before being yorked by Bravo, hitting 11 fours in his 34th Test half-century. He put on 71 for the third wicket with Jayawardene.
The West Indies struck in the day’s third over when Roach bowled Paranavitana with a delivery that cut in sharply to surprise the batsman.
Paranavitana fell at his overnight score of 10, but Sangakkara continued to defy the West Indies attack as he drove debutant paceman Andre Russell through the covers and then edged past slips for two fours in an over.
The Sri Lankan captain, 33 overnight, completed his half-century when he turned Roach to square-leg for three runs. His fifty came off just 45 balls with the help of nine boundaries.
Former skipper Jayawardene looked solid during his 91-ball knock, reaching his 37th Test half-century when he flicked Roach through mid-wicket for a four after lunch. He has so far hit five boundaries.
The West Indies owed their big total to left-handed opener Chris Gayle, who smashed a career-best 333 on Tuesday for his second triple-century in Tests. He became the first West Indies batsman to hit a triple-century in an away Test.
Gayle is only the fourth batsman to score two triple-centuries in Tests after Australian Don Bradman, India’s Virender Sehwag and West Indies’ Brian Lara.