Fast bowler Mohammad Talha, one of the three changes Pakistan made after trailing 1-0 in the series, found the thin outside edge of Silva's bat after Sri Lanka won the toss and elected to bat on a grassless wicket.
Dimuth Karunaratne was unbeaten on 34 at lunch while Kumar Sangakkara will resume at 12.
Karunaratne and Silva survived the first hour and put on 31 runs before Talha got the breakthrough immediately after he switched bowling ends.
Pakistan captain Misbah-ul-Haq brought in off-spinner Saeed Ajmal in only the 10th over of the innings in a hope to get the early breakthrough after Junaid Khan and Talha could not extract any movement off the flat pitch.
Ajmal thought he had Karunaratne leg before wicket on 14 in his third over, but Pakistan wasted it's one of the two referrals when television umpire Bruce Oxenford upheld onfield umpire Sundaram Ravi's not out decision.
Karunaratne was unruffled by the short pitched deliveries but was lucky to get a top edged six off Khan as the left-hander opened up after a cautious start to his innings.