The compact Silva pulled Coetzer for four to complete a 123-ball fifty while left-hander Thirimanne square-cut spinner Spriegel to the boundary to reach the landmark in 84 balls with seven fours.
Silva, 84 not out at tea, went to three figures by cover-driving left-arm seamer David Willey for his 16th boundary.
And when Graeme White dropped short, Silva pulled him for six, with Thrimanne following up by sweeping the left-arm spinner high over the ropes as well.
The 19-year-old Duckett dropped his second chance of the day, a difficult one down the legside off left-arm spinner Spriegel, when Silva was on 124.
The batsman responded by lofting Spriegel for six over wide long-on.
Thirimanne ensured Duckett paid heavily for his earlier error by completing a 151-ball hundred.
Sri Lanka rested tour captain Angelo Mathews but otherwise the tourists were fielding close to a full-strength side. At stumps on Thursday's first day of four at Northampton, opener Silva was 152 not out in