Pakistan made 263 for seven after being sent to bat, having looked set to post a much bigger score at several stages. But the home side replied with 265 for three, winning with 30 balls to spare.
After paceman Josh Hazlewood applied the brakes to a promising Pakistan innings with three wickets, skipper Smith and ODI debutant Peter Handscomb put on 183 for the third wicket in the chase to set their team on the path to victory.
Australia lead the five-match series 2-1.
Pakistan had chances to seize control of the match, but paid the price for basic errors.
When they claimed openers David Warner (35) and Usman Khawaja (nine) in five balls they had Australia wobbling at 45 for two.
One run later Handscomb was on his way back to the pavilion for a duck on debut, caught at first slip from the bowling of Junaid Khan.
Australia should have been 46 for three, but Handscomb was recalled to the centre due to a front foot no-ball.
To make matters worse, Handscomb had another life on 10 when a simple catch was dropped at point, with Junaid again the aggrieved bowler.
It proved to be Pakistan's undoing.
Handscomb eventually fell for 82 from 84 balls, but the game was safely in Australia's hands by then.
Smith brought up his eighth ODI century by pulling the 97th ball he faced to the mid-wicket boundary and finished unbeaten on 108.
Earlier in the day, Hazlewood reined the visitors in after they made a flying start, picking up 3-32 from his 10 overs.
He claimed the vital wickets of Babar Azam, who top-scored with 84 from 100 balls, Umar Akmal (39) and opener Mohammad Hafeez (4).
Babar played beautifully and appeared set to add another century to his blossoming career, before he was brilliantly caught by Handscomb.
In his 21st innings, the Pakistani number three equalled the record held by four other players for being quickest to 1,000 runs before falling to Hazlewood.
He attempted a pull shot and Handscomb took a great diving catch in the outfield, with the third umpire confirming the Australian got his hands under the ball.
Babar did have some luck and was twice dropped by bowlers on their follow-through.
He was dropped low down by James Faulkner on 31 and then Patrick Cummins grassed a tough chance when he was 74.
Umar should have been stumped on one to give part-time spinner Travis Head (2-65) a third wicket, but wicketkeeper Matthew Wade botched an easy dismissal.