Chamara Silva scored a fine century for a Sri Lankan Development XI as England were made to toil in the field for the first time on the tour.
Stuart Broad got the day off to a good start, first by being passed fit after ankle trouble and then by removing both openers with the new ball.
But Silva's 118 not out led the hosts to 223 for three at tea on the first day, having shared a 151-run stand with Thilina Kandamby.
It took Broad just four balls to register his first wicket of the tour, former Test batsman Malinda Warnapura lifting a full delivery straight to Ravi Bopara at mid-off.
Broad struck for a second time when he bowled Dilshan Munaweera for 19 in his fifth over and at the drinks break the home side had reached 45 for two, with Kandamby joining Silva at the crease.
England turned to Graeme Swann's spin after 15 overs but Sri Lanka were quick to get after him.
Swann, still leaking more runs than he would like, had Kandamby dropped shortly after lunch on 30 when he deflected the ball towards Ian Bell's chest at short leg.
Broad's second spell of the day, meanwhile, lasted just three overs before Steven Finn replaced him.
Samit Patel became England's sixth bowler after Swann gave way nursing figures of nought for 50 from 10 overs. It took Patel until his seventh over but the Nottinghamshire all-rounder was eventually able to make a much-needed breakthrough.
He managed to turn one in from the rough to bowl Kandamby for 64 and end a lengthy stand that had started to wear England down.