England generally prefer batting first but captain Eoin Morgan decided to give them experience of chasing just weeks away from the World Cup by opting to field first after winning the toss.
Bairstow's 128 in a score of 359 for four -- England's second highest winning total batting second in an ODI -- vindicated Morgan's decision and left his side 2-0 up with two to play in a five-match series.
Test captain Joe Root made 43 as Pakistan became increasingly ragged in the field, England winning with 31 balls -- or more than five overs -- to spare.
Earlier, Imam-ul-Haq's excellent career-best 151 saw Pakistan to 358 for nine.
That left England with a seemingly challenging target, particularly as they had rested Jos Buttler following his match-winning 110 not out in the second ODI at Southampton on Saturday.
But Bairstow and opening partner Jason Roy, who made 76 after Shaheen Shah Afridi dropped an easy chance to catch him at mid-off on 21, shared a blistering stand of 159 inside 18 overs.
Bairstow, severe on anything short, went to his seventh ODI hundred, and first against Pakistan, off 74 balls including 12 fours and three sixes.
He eventually fell when he bottom-edged a pull off Junaid Khan into his stumps, with England on their way to victory at 234 for two in the 29th over.
Earlier, Chris Woakes bolstered his chances of being included in England's final 15-man World Cup squad with four wickets for 67 runs in a maximum 10 overs.
But Joe Denly's prospects suffered a setback, with the leg-spinner -- playing in place of the rested Adil Rashid -- bowling a couple of full tosses in a solitary over costing nine runs before he was removed from the attack.