Nawaz took 3-17 and Shaheen 3-18 as Sri Lanka were dismissed for a paltry 114 in 19.1 overs, before Pakistan romped home with eight balls to spare at Rawalpindi Stadium.
Zimbabwe were the third team in the tri-series but lost three of their four matches to finish bottom.
Sri Lanka were never in the hunt in the decider after posting a below-par total as Saim Ayub (36) and Sahibzada Farhan (23) gave Pakistan a solid 46-run opening partnership inside the first eight overs.
Babar Azam hit 37 not out to ensure Pakistan did not derail despite losing skipper Salman Agha (14) and Fakhar Zaman (three) in quick succession.
"It was a great performance from us," said Agha.
"This has been a very good two months for us, we won against South Africa and now against Sri Lanka."
Earlier, Sri Lanka, sent in to bat, lost nine wickets for a mere 30 runs after being well set on 84-1 in the 11th over.
Opener Kamil Mishara hit a robust 47-ball 59, with the help of four sixes and two boundaries, to set a platform for a good total for the visitors.
Mishara added 64 runs for the second wicket with Kusal Mendis, who scored 14, but once both departed in the space of three overs the innings fell apart.
Nawaz dismissed Mendis, while Mishara holed out off Ayub, as the Pakistan bowlers relentlessly cranked up the pressure.
None of the later Sri Lankan batters could reach double figures as Nawaz and Shaheen tore through the middle and lower order.
"We couldn't build on a good platform because Pakistan bowled very well," said Sri Lankan skipper Dasun Shanaka.
"We need to fine-tune our game ahead of the next series and the World Cup."
India and Sri Lanka co-host the Twenty20 World Cup in February-March next year.