Crawley and Buttler, who made 152, shared a stand of 359 that powered England to 583-8 declared on the second day of the third Test.
It was England’s highest Test total since their 589-8 declared against Pakistan at Old Trafford four years ago.
Three of Pakistan’s frontline bowlers conceded over 100 runs each, with leg-spinner Yasir Shah (2-173 from 39 overs) and teenage paceman Naseem Shah (1-109 in 27) both going for more than four an over.
England, 1-0 up in a three-match contest and looking for a first series win over Pakistan in a decade, had 13 overs in which to make inroads into the tourists’ top order before stumps if the light held.
Crawley’s innings was the seventh highest maiden hundred in 143 years of Test-match cricket and the 10th highest individual score by any England batsman.
His partnership with Buttler was also a new England fifth-wicket record in Tests, surpassing the 254 shared by Keith Fletcher and Tony Greig against India at the Brabourne Stadium in Mumbai in February 1973.
One of the few false shots of his innings saw Crawley, 186 not out at lunch, go to 200 when he edged a four past second slip off Naseem — his 25th boundary in 331 balls.
The 22-year-old Crawley was the seventh England batsman to turn his maiden Test hundred into a double century and the first since Rob Key against the West Indies at Lord’s in 2004.
Earlier, Buttler completed just the second hundred of his 47-match Test career and first as a wicketkeeper.
Crawley, advancing down the pitch, lofted Yasir over long-off for six before a clipped boundary off paceman Mohammad Abbas saw him to 250.
– Crawley falls to Shafiq –
But his near 10-hour innings ended when he was stumped down the legside by Mohammad Rizwan off part-time spinner Asad Shafiq. Crawley faced 393 balls, hitting 34 fours and one six.
Together with Buttler, he had taken England from 127-4 to 486-5.
World Cup-winner Buttler, best known as a batsman for his skills in a run chase, saw his seven-and-a-half-hour innings end in tame fashion when he chipped a gentle return catch to Fawad Alam, another occasional spinner.
Chris Woakes made a brisk 40 as Pakistan became increasingly ragged in the field before England captain Joe Root eventually called a halt.
England resumed Saturday in a commanding position at 332-4.
Crawley was 171 not out, after posting a maiden century at this level in his eighth Test on Friday, with Buttler unbeaten on 87.
Buttler, whose 75 at Old Trafford helped England to a three-wicket win in the first Test, had moved into the 90s by the time the first of two rain breaks that halted play for nearly two hours in total.
It took Crawley 25 balls to add to his overnight score but he did so with a stylish flick for four through midwicket off left-arm quick Shaheen Afridi.
Buttler was on 99 when, after Rizwan came up to the stumps, he was given out caught behind off Abbas.
Buttler immediately reviewed umpire Richard Illingworth’s decision and replays showed the ball had missed the bat.
Next ball, Buttler punched Abbas through point to complete a 189-ball hundred with 10 fours and two sixes.
It was just the 29-year-old’s second Test century in 47 Tests following his 106 against India at Nottingham two years ago.
Download our app and read this and other great stories on the move. Available for Android and iOS.