The 24-year-old right-hander smashed 124 off 140 balls for his fourth one-day century as Pakistan used the favourable conditions at Dubai stadium to their advantage after being sent in to bat.
Shehzad added 76 for the second wicket with Mohammad Hafeez (32) after Pakistan lost Sharjeel Khan for just seven in the second over, leg-before to paceman Lasith Malinga.
Hafeez was run out after a laborious 52-ball knock which featured three boundaries.
Shehzad then added another 105 runs for the fourth wicket with skipper Misbah-ul-Haq (59 not out).
More From This Section
Misbah kept the charge going alongside Shahid Afridi (30 not out in 15 balls) as Pakistan scored 92 in the last 10 overs.
Misbah hit two fours and a six in his 34th one-day half-century while Afridi hit two sixes and a boundary.
The Sri Lankan bowlers, who conceded 322 in the first game in Sharjah, kept a tight line and length but were hurt because of injuries to skipper Angelo Mathews and Thisara Perera who couldn't complete their overs.
Pakistan remained unchanged from the last match but Sri Lanka were forced to make two changes, replacing Suranga Lukmal and the injured Lahiru Thirimanne for Kulasekara and Dimuth Karunaratne.