Australia have left the door open for a Pakistan revival after David Warner hit his first international century in almost 18 months to help his team to 307 in Taunton.
After Warner's 107 laid the platform for Australia in Wednesday's World Cup clash, the defending champions lost 8-84 late to be all out against Pakistan.
Pakistan will still require their biggest successful chase in World Cup history to pull off the win, but it will give them some hope after Australia were ready to launch at 2-223 in the 34 overs.
Seemingly on track for a total closer to 400, Glenn Maxwell lost his off stump on 20 trying to take Shaheen Afridi on before Shaun Marsh (23 off 26) and Usman Khawaja (18 off 16) couldn't get going.
Mohammad Amir was the star for Pakistan, claiming career-best figures of 5-30 and building pressure as the rest of his team's bowlers struggled with their lines and lengths.
He got the key wicket of Aaron Finch at deep cover for 82, and halted Australia's momentum with the dismissals of both Marsh and Khawaja later in the innings as they tried to take him down the ground.
Having made the ball move throughout the innings, the left-armer was then too good for Alex Carey (20 off 21) and Mitchell Starc (3) to have Australia all out in the penultimate over of the innings.
Finch and Warner had earlier made a sloppy Pakistan pay as their 156-run opening stand was the biggest of the tournament so far for any wicket.
Warner was dominant on the drive and and hit 11 boundaries and one six in his knock, after opening his account with a pull shot off Afridi for four off his second ball.
He took up just 111 balls and was far quicker than in his knocks against Afghanistan and India where he was questioned for his slow scoring.
Meanwhile, Finch's 82 marked his sixth straight score of 50 or more against Pakistan. He now averages 63 against them in 10 one-day internationals.
Australia had earlier made the call to go without a frontline spinner, with Adam Zampa dropped to bring Kane Richardson into the team as a fourth quick.
They'll also be without Marcus Stoinis with the ball, who is out with a side strain.