Paceman Suranga Lakmal grabbed the remaining three Pakistan wickets in the morning session to set his team a comfortable 137-run victory target and Karunaratne (62 not out) and Silva (58) added 124 runs for the opening stand to take them near the mark.
Karunaratne's unbeaten 125-ball knock included eight hits to the fence, while Silva struck five fours in his sedate knock which ended when he was trapped leg before by Saeed Ajmal.
Resuming on 330-7, Pakistan's slender hopes of salvaging a draw depended on a combination of their continued rearguard action and rain but none materialised at the Dubai International Cricket Stadium.
Sarfraz Ahmed (74) could add only four runs to his overnight score before Lakmal got some reverse-swing and pushed one through his bat and pad.
The 26-year-old paceman then induced an edge from Rahat Ali and stumper Prasanna Jayawardene claimed his ninth dismissal of the match, equalling Amal Silva's Sri Lankan record.
Pakistan folded for 359 when Lakmal sent down a yorker that landed on Saeed Ajmal's (21) boot before hitting the stumps. Ajmal left the field in pain and missed the early part of the Sri Lankan chase.
Sharjah hosts the third test from Thursday.