The Australians always had the measure of the unthreatening Sri Lankan bowling attack, but Mahela Jayawardene's team kept a lid on the scoring rate to just above three runs an over with alert ground fielding.
Hughes hit 86 on his Test comeback a year after being sacked for a second time, while Warner ran himself out for 57 just before lunch.
At the close, Australia were 299 for four after winning the toss with in-form skipper Clarke unbeaten on 70 and veteran Mike Hussey not out on 37 in an unbroken 101-run stand.
Clarke in the process raised 1,400 runs for the calendar year, averaging over 116.
"Overall at four for 299 the ball's in our court," Hughes said.
"I thought we were outstanding today with Pup (Michael Clarke) and Huss (Mike Hussey) putting on a 100 at the end, so that really gives us momentum going into tomorrow."
The Australians are coming off a crushing 309-run loss to world number one South Africa in Perth and found the sixth-ranked Sri Lankans -- without a win in 10 Tests in Australia -- less menacing opposition.
Hughes, batting at number three, was out shortly after tea when he was bowled by Chanaka Welegedara, ending the comeback batsman's bid for a fourth Test century.
The compact left hander showed more patience and improved shot selection at his latest and third Test recall, batting for 221 minutes and hitting eight fours and an unorthodox slog-sweep six over deep mid-wicket.
On the way, Hughes had a big let-off on 77 when he was caught behind off a Welegedara no-ball.
Shane Watson, batting in Ricky Ponting's number four spot, made a start before he fell to a spectacular flying catch by Sri Lankan skipper Jayawardene.
The Sri Lankans were up against it when the captain latched on to a magnificent one-handed catch to dismiss Watson for 30 nearing tea.
Australia had been sailing along before Jayawardene's screamer off Welegedara, which left the home side at 183 for three in the 51st over.
Watson had shared in an 86-run stand with Hughes as Australia were looking in command.
Warner was run out in the final over before lunch to take some of the gloss off Australia's solid first morning.
Looking set for a big score, a communication breakdown with Hughes saw him sacrifice his wicket four balls before lunch.
Warner, who carried his bat in his first of three Test centuries with an unbeaten 123 in last year's Hobart loss to New Zealand, played part-time spinner Tillakaratne Dilshan towards short cover and set off for a single.
But batting partner Hughes was well down the pitch and Angelo Mathews had time to lob the ball towards the non-striker's end with Warner well out of his crease.
Ed Cowan was out to a poor shot in the sixth over when he attempted to pull Welegedara, only to hand an easy catch to Eranga at mid-on for four.
Welegedara finished with three wickets for 99 off 20 overs.
"I think we did well today. We are very confident that we can put pressure on the Australian batsmen in the future," Welegedara said.
"Hopefully the bowlers will be fresh in the morning and if we get either Clarke or Hussey out we hope to get the Australians out for an additional 100 runs."
It was the first Test for Australia since Ricky Ponting's retirement after a record-equalling 168 Tests.
The former skipper was given a lap of honour around Bellerive Oval during the lunch interval to give his home Tasmanian crowd an opportunity to pay tribute to his career.