Kusal ton steers Sri Lanka to 281 against Australia in Trophy warm-up
Kusal was well supported by opener Nishan Madushka and skipper Charith Asalanka, both of whom hit half-centuries on a Colombo surface that had plenty in it for the spinners.
Kusal brought up his run-a-ball fifty in style, sweeping Glenn Maxwell for back-to-back boundaries, and eventually raised his bat for a classy 101 off 115 balls, peppered with 15 fours.
It was Kusal's fifth ODI century and first against the Australians.
Madushka, who stepped into the XI in place of Avishka Fernando, played the anchor's role to perfection and stitched a crucial 98-run partnership for the second wicket with Kusal, steadying the innings after the early loss of Pathum Nissanka for six.
Australia skipper Steve Smith had deployed all four of his spin options in a desperate search for a breakthrough.
Eventually it was left-arm quick Ben Dwarshuis who found the much-needed opening, tempting Madushka into an ambitious pull caught by Adam Zampa at deep fine leg for 51.
Fellow pacer Sean Abbott was called into the attack and went around the wicket to Kamindu Mendis, testing him with sharp angles and bowling him for four.
Kusal was next to go when Zampa tempted him into a sweep that was caught in the deep by Matthew Short.
Asalanka, fresh off a match-winning century in the previous game, scooped the fast bowlers over the wicketkeeper's head with audacity to finish 78 not out.
Australia made five changes as they fine-tune their lineup ahead of next week's Champions Trophy in Pakistan and Dubai.
Maxwell, Tanveer Sangha, Travis Head, Josh Inglis and Dwarshuis all came in.
Out went Alex Carey, Marnus Labuschagne, Cooper Connolly, Spencer Johnson and Nathan Ellis.
Sri Lanka are not involved in the Champions Trophy.