Ashley Giles and Liam Plunkett took four wickets each as England staged a remarkable comeback to beat a Pakistan Cricket Board Patron's XI by 52 runs on the final day of a three-day match.
The home team needed just 158 to win after England were dismissed for 112 on Wednesday, with pace bowler Yasir Arafat taking five wickets.
But they collapsed from 50 without loss to 105 all out as Plunkett and left-arm spinner Giles caused havoc.
Uncapped Plunkett, in the squad as a replacement for the injured Simon Jones, boosted his chances of playing in the first Test with match figures of 7-57.
Giles, who did not bowl in the first innings because of an upset stomach, took his four wickets for 38 runs off 11 overs.
Spinner Shaun Udal also chipped in with two wickets to finish the innings off.
The Patron's team started solidly and appeared set for a comfortable victory until Yasir Hameed (30) hit straight to Andrew Strauss at mid-wicket off Giles, who then trapped Bazid Khan for nought next ball to make it 50-2.
They lost two more wickets with the score on 65 when Ashar Zaidi (26) skied Plunkett to James Anderson at mid-on and out-of-form Pakistan batsman Asim Kamal dented his chances of playing in the first Test by edging the ball to Trescothick.
Plunkett's third victim was Faisal Iqbal, caught behind by Matthew Prior for two, and he dismissed captain Misbah-ul-Haq (14) just before tea, finishing with figures of 4-16 off seven overs.
Giles bowled Shahzad Malik (3) with a quicker ball and got rid of Khalid Latif (0), who mistimed a big hit to Strauss.
England had resumed on 39 for 6 and were tormented by pace bowler Arafat, who took the wickets of Ian Bell, Giles and Matthew Hoggard for match figures of 9-76.
The only redeeming feature in England's innings was another fluent knock of 38 not out from Trescothick, who came into bat at number nine after Bell was trapped leg before by Arafat for one.
Trescothick, who scored an undefeated 124 in the first innings, shared a eighth-wicket stand of 56 with Paul Collingwood (34).
The local side included seven Test and international players.
England's second tour game is in the eastern city of Lahore from November 6 before the first Test in Multan starts on November 12.