Sri Lanka's Chamika Karunaratne picked up three wickets, including the crucial one of Glenn Maxwell, to trigger an Australian collapse as the hosts won the rain-hit second one-day international by 26 runs in Pallekele on Thursday to level the series.
Australia were cruising at 123/3 in pursuit of 216 in 43 overs when spinner Dunith Wellalage (2/25) removed Travis Head (23) and Marnus Labuschagne (18) in quick succession before Karunaratne (3/47) and Dushmantha Chameera (2/19) ensured a Sri Lankan victory in front of a packed house in Pallekele.
"Chamika is a born warrior. He delivers whenever I throw the ball to him," said Sri Lanka captain Dasun Shanaka. "Same with Dushmantha as well. Even on the field the attitude and the concentration is top class."
Australia's top seven all got into double figures but failed to kick on, with Wellalage and Dhananjaya de Silva (2/26) both doing a fine job of stifling them in the middle overs on a slowish pitch.
"The guys got starts and didn't convert and that was the difference. It was unfortunate," said Australian skipper Aaron Finch. "Chasing in these conditions where the wicket is slow and spinning is something we need to keep improving on."
Earlier, Australia chose to field and restricted Sri Lanka to 220/9 in 47.4 overs before rain brought a premature end to the innings. Kusal Mendis top-scored for the hosts with 36 while Pat Cummins returned figures of 4/35.
The third game of the five-match series takes place in Colombo on Sunday.