England made it two wins from two in Sri Lanka with an impressive fourth-innings chase only marred by concerns over Ravi Bopara's fitness and Ian Bell's form.
The tourists successfully reeled in a target of 359 in two sessions against a Development XI, despite leaving first-innings centurions Andrew Strauss and Jonathan Trott in the pavilion in a four-wicket win.
Four other batsmen hit half-centuries, with Kevin Pietersen (52), Bopara (66), Matt Prior (84) and Samit Patel (72) all making valuable contributions.
The off-form Bell, who has had a torrid 2012, made just 11 and was conspicuous by his failure.
But England's real concern ahead of Monday's first Test is the number six spot - and the news that a side strain for Bopara is likely to rule him out of bowling in the Test series.
In scorching conditions that demand relief bowlers, that will count against him and Patel's measured knock will have done his chances no harm.
The first session was something of an inconvenience to England, who were more eager to get their second innings under way.
Steven Finn, Tim Bresnan and Graeme Swann each claimed a wicket but it was not long before England were soon encouraging their hosts to score quickly and declare. Bell was handed a rare bowl and shelled 34 runs in three overs, while Trott and Patel also donated plenty of runs to Angelo Perera's free-hitting cause.
In the end, Perera made 90 not out before Thilina Kandamby declared in the lunch interval on 272 for four - a lead of 358.
England opened with Pietersen and Bell, the two top-order batsmen most in need of time at the crease.
Things started well, with Pietersen collecting three fours down the ground in the first two overs and Bell hitting two drives to the cover boundary.
But the Warwickshire man was gone in the fifth over.
It was hard to tell if there was any bat involved as Vishwa Fernando appealed for a leg-side caught behind but as soon as the umpire raised his finger that became irrelevant.
Bell's top score in 2012 still stands at 29.
Bopara was in at three and survived a well-aimed yorker first up.
He then enjoyed some of the luck Bell missed out on, benefiting from a couple of mis-fields and then seeing a return catch put down by Fernando with 10 to his name.
Pietersen, meanwhile, had a breezy 41 by drinks and took just 49 balls to reach 50.
He departed moments later, though, bowled for 52 by Tharanga Lokuarachchi.
Bopara had started to settle nicely at the other end, particularly against the spinners, and was gifted his half-century with four overthrows.
News of his injury broke during tea, by which point he was 55 not out.
He added 11 more before falling caught and bowled to Sajeera Weerakoon but Prior had taken on the scoring burden by then, racing to 50 in just 36 balls.
The wicketkeeper's previous knock was a three-ball duck but he was in enviable form from the off here, recording his 10th boundary with a graceful cover drive.
Patel was next in and he was happy to play second fiddle to Prior, who hit a six and two fours in three successive deliveries from Weerakoon.
His fun ended on 84 when he was bowled off the inside edge by Fernando to leave England 248 for four.
Bresnan managed 27 balls and 14 runs before being well held at long leg by Isuru Udana.
Although the run chase still looked achievable, England continued to prioritise their Test preparations, sending in Broad next ahead of Strauss and Trott.
Patel became the fourth man to make 50 in the innings and with 10 overs left there were 68 needed for victory.
Patel started to open his shoulders, launching sixes off Weerakoon and Lakshitha before the latter upended his off stump.
But Broad (17no) and Swann, who scored a whirlwind 31no, saw their side over the line.