Buttler marked his return from a calf injury with a sparkling 68 from 32 balls in a 132-run opening stand alongside Hales, who got the nod ahead of Phil Salt and top-scored with 84 off 51 deliveries.
England's innings ran out of steam and while they still posted an imposing 208 for six, Australia were in contention until the last over, from which they needed 16, but Sam Curran ensured no late drama.
There might have been controversy had Matthew Wade gotten Australia over the line, having appeared to block Mark Wood as he went for a caught and bowled chance, but he was later snared by Curran.
Australia rested Mitchell Starc, Pat Cummins, Josh Hazlewood, Adam Zampa and Glenn Maxwell in Perth but still tested England, who had Ben Stokes in their T20 ranks for the first time since March 2021.
David Warner anchored Australia's pursuit with 73 off 44 balls - while there were cameos from Mitch Marsh (36) and Marcus Stoinis (35) - but his downfall against Wood, who took three for 34, was pivotal.
England, who have two more fixtures against Australia and a warm-up against Pakistan before starting their T20 World Cup at this same venue in two weeks, were asked to bat first at the first international at the Optus Stadium since December 2019.
Cameron Green was punished for overpitching as Buttler hit the ground running, slashing through point before taking three more off-side fours to set the tone for a boundary heavy partnership.
Hales was not as fluent early on but found succour stepping to the leg-side and driving or cutting, hammering Daniel Sams over cover for six. He largely deferred to his opening partner, though.
Buttler brought out his trademark ramps for four then six but the tactic almost ended his innings on 30, as Nathan Ellis' slower ball took an edge only for a diving Mitch Marsh to spill a tough chance.
Buttler greeted leg-spinner Mitch Swepson into the attack with back-to-back sixes while Hales took two maximums - one of them off a top-edge - in a Marcus Stoinis over that leaked an eye-watering 21.
England's openers continued to pepper the boundaries almost at will as they went past their half-centuries but Ellis finally made the breakthrough, cramping Buttler, who clothed to mid-off.
Stokes leapfrogged Dawid Malan in the order but was unable to add any impetus and holed out for a run-a-ball nine, shortly after top-edging a reverse sweep off Sams' slower ball into his chin.
Hales departed in the next over after picking out long-off, throwing his head back in despair, one of four wickets to fall in the last five overs, with England adding just 41 as Australia finished well.
Ellis, in particular, offered some control and leaked just one in his penultimate over, snaring Moeen Ali and Sam Curran, too, to finish with three for 20 although Chris Woakes' cameo 13 not out from five balls took England past 200.
While Australia lost Green early in the chase, Warner settled quickly after getting off the mark with a streaky six and he showed no sign of being unsettled by Wood's extreme pace with three fours in a row.
Australia reached 62 for one at the end of the powerplay - four runs ahead of England at the same stage - but while Adil Rashid was lofted for a straight six by Warner upon his introduction, the leg-spinner castled Mitch Marsh, deceived by a googly to depart for 36 off 26 balls.
Australia captain Aaron Finch, who has shuffled into the middle order recently, was run out but Warner brought up his fifty and Stoinis dispatched Rashid over the midwicket rope twice in three balls.
Just as it seemed the balance was tilting towards Australia, Stoinis sliced to cover off the returning Wood, who hit 96mph at one stage and three balls later had Tim David caught in the deep as the hosts were left needing 51 off the last 30 deliveries.
Wood seemed to be obstructed by Wade as he looked to take a return catch but England did not appear to want to take the matter further and any irritation may have been tempered by just four being leaked in the over and Warner on his way after toe-ending to Hales.
Wade slashed the first ball of the final over for four but then picked out deep midwicket to ultimately end Australia's challenge.