Mathews, Dhananjaya keep Sri Lanka alive in Bangladesh Test
Stay tunned with 24 News HD Android App
Rain washed out entire post-lunch session but the duo stepped up their scoring rate to make up for lost time, with de Silva striking nine fours before Shakib Al Hasan got his wicket.
The right-hander, who faced 95 balls, was initially given not out on a caught-behind appeal before Bangladesh successfully reviewed.
Mathews, who smashed four fours and a six, was batting with Dinesh Chandimal on 10 at stumps.
A gem of a delivery from Shakib dismissed Dimuth Karunaratne for 80 soon afterwards, with the Sri Lankan skipper adding 10 to his overnight score.
Shakib tossed the ball up on off-stump and Karunatne went for a drive but saw the flighted delivery dip and turn between bat and pad before crashing into his stumps.
Karunaratne, who was dropped on 37, struck nine boundaries in his 15th Test fifty.
De Silva hit Ebadot for three fours in one over just before the break after he and Mathews survived a difficult spell from the right-arm pace bowler and Shakib.
Shakib, the most successful bowler for Bangladesh so far, has claimed 3-59.
Bangladesh first innings 365 (Mushfiqur Rahim 175 not out, Liton Das 141; Kasun Rajitha 5-64, Asitha Fernando 4-93)
Sri Lanka first innings (overnight 143-2)
Oshada Fernando c Najmul b Ebadot 57
Dimuth Karunaratne b Shakib 80
Kusal Mendis lbw b Shakib 11
Kasun Rajitha b Ebadot 0
Angelo Mathews not out 58
Dhananjaya de Silva c Liton b Shakib 58
Dinesh Chandimal not out 10
Extras (lb6, nb2) 8
Total (five wickets; 97 overs) 282
To bat: Niroshan Dickwella, Ramesh Mendis, Praveen Jayawickrama, Asitha Fernando
Fall of wickets: 1-95 (Oshada), 2-139 (Mendis), 3-144 (Rajitha), 4-164 (Karunaratne), 5-266 (Dhananjaya)
Bowling: Khaled 15-1-62-0 (nb1), Ebadot 26-4-78-2, Shakib 26-9-59-3, Mosaddek 2-0-14-0, Taijul 28-6-63-0 (nb1)