Dilshan was unbeaten on 58 and Silva was not out on 37, as Sri Lanka, sent in to bat, reached 217 for five in their first innings when bad light stopped play 20.3 overs early on the opening day at Queen's Park Oval.
In between three breaks for rain, Sri Lanka were struggling on 117 for five, but Silva joined Dilshan, and they punished wayward West Indies bowling to put their side back on track.
Dilshan reached his 50 just prior to the close, when he guided Sri Lanka's wrecker-in-chief Fidel Edwards through backward point for two. Silva was no less enterprising with the cut and the pull some of his most productive strokes.
He was dropped on 34 just before the close, when Devon Smith, moving to his right at second slip, failed to hold a sharp chance off Daren Powell.
Greeted by a helpful pitch, things had started well for Sri Lanka who has been put into bat.
Michael Vandort was fortunate that umpire Billy Bowden ruled in his favour, when Powell appealed for an lbw verdict off the second ball of the match.
Television replays suggested that the tall, left-handed opener was hit plumb in front by a fast, full, straight delivery which pitched on a length, on the line of middle stump, and straightened.
Malinda Warnapura, his opening partner, then gained a reprieve on 12, when Dwayne Bravo floored a regulation chance at third slip off Jerome Taylor in the sixth over.
Vandort too, benefited from the West Indies' epidemic of sloppy fielding, when Powell failed to grab a sharp return catch in the 11th over.
In between their run of good fortune, the two Sri Lanka openers put away anything fractionally loose.
But the tourists were wobbling when Edwards captured two wickets in the space of 12 balls in the final hour before lunch to leave the visitors on 89 for two at the interval.
Warnapura, playing loosely off the back-foot, edged a drive and was caught low at third slip for 35 in Edwards' third over, and Sri Lanka vice-captain Kumar Sangakkara was caught behind for 10 playing defensively forward in the fast bowler's fourth over to leave the visitors 72 for two.
Things started to unravel after lunch for Sri Lanka, West Indies, and the weather in the period of play after lunch.
Rain saved Sri Lanka from plunging into further trouble, and they reached 139 for five when a third stoppage prompted an early tea.
The breaks for rain limited the two sides to 12.2 overs after lunch, and Sri Lanka crashed from a comfortable 89 for two to 117 for five.
When play continued following a 20-minute delay after lunch, only 27 minutes were possible, and Vandort was caught by the wicketkeeper Denesh Ramdin down the leg-side off Edwards for 30.
Sri Lanka were 98 for three when play was again interrupted for just over an hour, and officials revised the playing times to utilise the additional hour available to them under the playing conditions.
When play resumed, another intriguing 45 minutes were possible, but it was another brutal period for Sri Lanka.
Thilan Samaraweera, groping at a delivery outside the off-stump, was caught at first slip for six off Taylor, who also bowled Mahela Jayawardene for 26 with a delivery that moved late and clipped the outside of the Sri Lanka captain's off-stump.
The clouds continued to hover and soon drenched the Caribbean's most used international venue, but Dilshan and Silva made hay when the sun shone again.
Edwards finished the day with 3-50 while Taylor grabbed 2-63.
Sri Lanka lead the series 1-0, after they won the opening Test at Guyana by 121 runs.
If they win the Test, Sri Lanka will confirm their first Test series win on Caribbean soil, and become the first side visiting the Caribbean to sweep a Test series of any length.