Tillakaratne Dilshan inspired Sri Lanka as the hosts took a lead of 112 runs at stumps on Day 3.
Colombo: Skipper Tillakaratne Dilshan inspired Sri Lanka's tenacious batting display as the hosts took charge of the third Test against Australia in Colombo on Sunday.
Sri Lanka, seeking a series-levelling win, closed the third day's play at the Sinhalese Sports Club on 428-6 in their first innings, a lead of 112 runs over Australia's 316 with four wickets in hand.
Dilshan struck a rousing 83, Kumar Sangakkara made 79 in his 100th Test appearance, Mahela Jayawardene hit 51 and Angelo Mathews returned unbeaten on 85 as Sri Lanka led Australia for the first time in the series.
Prasanna Jayawardene chipped in with 47, sharing a sixth-wicket stand of 81 with Mathews that increased Australia's frustration in the field on a hot, humid day.
Dilshan, who had contributed just 56 runs in the previous four innings of the series, hammered 14 boundaries before he was caught-behind off Trent Copeland just before tea.
Dilshan put on a valuable 121 for the fifth wicket with Mathews on either side of lunch after Australia had threatened to take charge in the morning session.
The tourists grabbed the crucial wickets of Sangakkara and Mahela Jayawardene in the space of 12 runs after Sri Lanka resumed at the overnight score of 166-2.
The pair, who compiled Test cricket's highest partnership of 624 at the same venue in 2006 against South Africa, put on 101 for the third wicket.
The two former Sri Lankan captains appeared to have settled in for the long haul when Australia earned a lucky break.
Jayawardene batted aggressively in the morning session to hit four boundaries but chased a wide ball from Shane Watson and edged a catch to wicket-keeper Brad Haddin.
Jayawardene, who has hit 10 Test hundreds at the SSC, managed only a half-century this time.
Australia claimed the second new ball after 81 overs and met with immediate success when Peter Siddle dismissed a well-set Sangakkara with the fourth delivery.
Sangakkara smashed the first ball to the cover fence, but edged a rising ball later in the same over to Haddin.
Dilshan, an opening batsman who demoted himself to number five for this match, had a harrowing start to his innings.
He left the first delivery from Watson, which dipped in dangerously close to the off-stump and had yet to get off the mark when a miscued shot off Watson fell just short of a diving Shaun Marsh at mid-on.
Dilshan opened his account with a flick off Mitchell Johnson for a boundary, which also brought up Sri Lanka's 200, and then joined hands with Mathews to flay the Australian attack on a good wicket.
Mathews reached his third half-century in the series with two boundaries in one Siddle over after resumption.
Jayawardene brought up Sri Lanka's 400 by pulling Nathan Lyon for a six and repeated the shot off the next delivery.
Australia are ahead 1-0 in the series, having won the first Test in Galle by 125 runs.