Opener Finch took just 18 balls to reach his fifty - equalling Glenn Maxwell's record - as he gave Australia the perfect start to their chase of Sri Lanka's 212 all out.
The tourists reached their target in just 31 overs, and with six wickets in hand, as George Bailey took over from Finch (55) to smash 90 from 85 balls.
Fast bowler John Hastings took 6-45 as Sri Lanka struggled despite Dhananjaya de Silva's 76 from 87 balls.
Sri Lanka captain Angelo Mathews was struck on the helmet by John Boland and later retired hurt with a calf injury.
Meanwhile, the Sri Lanka Cricket Board has apologised for the "inconvenience" caused when more than 45,000 fans attended a ground that could only accommodate 18,000 on Sunday.
The fifth and final match of the series will take place on 4 September in Pallekele.
Aaron Finch equalled the Australian record for the fastest one-day international half-century to help his side complete a 3-1 series victory over Sri Lanka in Dambulla.