The Lankans, seeking 188 for victory, were bowled out for 146 in 18 overs - but they still win the three-game series 2-1.
Sri Lanka's chase was given early impetus by Dilshan Munaweera, who smacked 37 from 25 balls before 19,326 spectators at Adelaide Oval.
But from 0-41 in the fourth over the tourists lost traction and slid to 4-76 in the 10th.
Australian captain Aaron Finch, who earlier cracked a half-century - as did his opening partner Michael Klinger - used constant bowling changes to unsettle Sri Lanka.
Finch deployed seven different bowlers in the initial 10 overs and four of them had wickets by the midpoint.
From then, Sri Lanka perished in a do-or-die mission with only Milinda Siriwardana (35 from 27 balls) offering resistance.
Zampa, recalled into the side at the expense of Andrew Tye, was the chief destroyer, taking 3-25 from four tidy overs, including the prized scalp of game two's match-winner, Asela Gunaratne, for four.
Faulkner took 3-20 from three overs, paceman Jhye Richardson (1-38 from three) recovered from being slapped for 20 runs from his opening over while Travis Head took 1-16 from two overs.
Earlier, Klinger top-scored with 62 from 43 deliveries and Finch posted 53 from 32 balls - the latter cashing in a Sri Lankan slip: on zero, Munaweera turfed a simple catching chance from the fifth ball of the innings.
The opening pair put on a brisk 79 run partnership, laying a solid platform for Ben Dunk (28 from 21 balls) and Travis Head (30 from 16) to produce valuable cameos.
Australia posted 6-187, despite losing 4-8 from the last 11 balls, and the total was enough to make belated amends for last-ball losses in the opening two games.
"It's always nice to come back and feel like you have put in a performance that you were thinking of over the last few days, after the frustration of not playing the last game," Zampa said afterwards.
"You always pump yourself up to put in a good performance next game after being dropped so it's nice to get a few wickets."
Zampa admitted being axed for the second game, last Sunday in Geelong, hurt.
"It did (hurt) this time just because I felt like I could make a difference to that game in Geelong - and, looking back on it now, the whole series," he said.
But the tweaker said his Adelaide haul was made easier by Australia's dominant situation - they were defending 6-187 and fellow bowlers had already made early inroads into Sri Lanka's batting line-up.
"It's always easier when you get early wickets, come in bowling when they're three or four down and they have to keep scoring, it definitely makes my job a bit easier," Zampa said.
(BT)