Phil Hughes made an entertaining 86 in his first test appearance for 12 months, posting the highest score by a No3 for Australia in 2012.
Opener David Warner scored a hard-hitting 57 before he was run out while left-arm seamer Chanaka Welegedara claimed 3-99 for Sri Lanka.
Hughes was bowled between bat and pad by Welegedara in the second over after tea.
The 24-year-old Hughes hit eight fours and one massive six. The left-hander had some luck on 77 when he was caught behind off Welegedara, who was called for overstepping.
Earlier, opener Ed Cowan top-edged a pull shot to mid-on as he was dismissed for four after being dropped at third slip from the first ball he faced.
Hughes and Warner added 79 for the second wicket before Warner was run out following a mix-up with Hughes in the final over of the first session.
In his next over after the no-ball to Hughes, Welegedara had success as Shane Watson (30) fell to a brilliant diving catch by Mahela Jayawardene at second slip at 3-183 after an 86-run stand.
Tasmania's Ponting, Australia's leading test runscorer who retired this month, was given a lap of honour at the lunch interval in front of an adoring but small crowd of 6221.
- AAP