Chasing 413 for victory, Australia were all out for 183 in their second innings in the afternoon session.Sri Lanka last won a series against Australia in 1999 and the teams move to Colombo now for the third and final Test from next Saturday to see if the hosts can somplete a sweep.
Sri Lankan off-spinner Dilruwan Perera’s 6 for 70 haul took the hosts closer to the historic series win.
Overnight batsmen David Warner (41) and skipper Steve Smith (30) offered some resistance with their 51-run fourth wicket partnership but both of them fell to Perera’s guile.
Warner, who tried to counter attack during his 31-ball innings, was trapped LBW off a straighter Perera delivery that hit the batsman on the front pad.
Smith, who used his feet well against the spinners during his 58-ball stay, was the next to go as he gave away a catch at backward short leg.
Perera, who also took two wickets on Friday, then bowled Adam Voges for 28 to register his fourth five-wicket haul in 11 Test matches.
But it was veteran spinner Rangana Herath (2 for 74) who set up Sri Lanka’s chances of victory after bagging his maiden Test hat-trick to help dismiss Australia for a record low of 106 in its first innings.
Herath and Perera shared four wickets between them on a chaotic second day which saw the fall of 21 wickets and put the match on the fast track.
The teams move to Colombo now for the third and final test from next Saturday.