Pakistan set Australia a target of 264 to win but squandered the opportunity to post a big score in the third one-day international at Perth's WACA Ground on Thursday.
With the five-match series level at 1-1 Pakistan looked to be building to a massive score in excess of 300 after being asked to bat by Australia captain Steven Smith.
On a flat wicket ideal for batting they had raced along at better than six runs an over, but the steady loss of wickets eventually slowed them and Pakistan finished with a disappointing 263 for seven from their 50 overs.
Paceman Josh Hazlewood was the man who reined in the visitors, picking up three for 32 from his 10 overs.
He claimed the vital wickets of Babar Azam, who top-scored with 84, 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 ODI debutant Peter Handscomb.
The Pakistani number three equalled the record held by four other players for reaching 1,000 runs in his 21st innings before falling to Hazlewood.
Babar attempted a pull shot and Handscomb took a great diving catch with the third umpire confirming the Australian got his fingers under the ball.
Babar rode his luck being dropped low down by James Faulkner on 31 and then Pat Cummins grassed a tough chance when he was 74.
Umar should have been stumped on one, but wicketkeeper Matthew Wade botched the dismissal, which would have given part-timer spinner Travis Head (2-65) a third scalp.
The Pakistani batsman looked set to punish the Australians with a late flurry, but a sharply rising delivery from Hazlewood found Umar's outside edge and Wade this time made no mistake.
Having won their first match in Australia in more than a decade at the MCG on Sunday, Pakistan retained the same side.
Australia promoted Handscomb for the injured Chris Lynn (neck) and second-gamer Billy Stanlake for Mitchell Starc, who was rested.