Australia beat Afghanistan by four runs in the Men's T20 World Cup but failed to achieve the net run-rate swing required to further boost their chances.
It means if England beat Sri Lanka by any margin on Saturday, they will progress at the hosts' expense.
If Sri Lanka win, Australia will join New Zealand in progressing from Group 1 to the last four.
Australia needed a big victory in Adelaide to pile the pressure on England but could not break free with the bat as they were restricted to 168-8, meaning they had to keep Afghanistan below 119 to have a chance of pipping England on net run-rate.
In the end Australia, without injured captain Aaron Finch or the curiously dropped Mitchell Starc, were almost beaten, which would have ended their hopes entirely.
Afghanistan reached 98-2 after 13 overs of their chase before three wickets in four balls - a brilliant Glenn Maxwell run-out and two for spinner Adam Zampa - swung the game back towards Australia.
Rashid Khan then smashed 48 not out from 23 balls but with 22 needed from the final over, Afghanistan came up short, despite Rashid flogging a six and two fours.
Earlier, David Warner gave Australia a fast start with 28 but the regular loss of wickets checked the scoring, Maxwell top-scoring with 54 not out from 32 balls.
Credit should also go to an excellent Afghanistan bowling performance with Naveen-ul-Haq closing out the innings brilliantly and taking 2-20.
New Zealand beat Ireland earlier on Friday and have secured one of the two semi-final places. They will almost certainly take top spot unless England win by a huge margin.
Australia win may not be enough
The match ended with neither side really celebrating, which summed up a strange night at the Adelaide Oval.
The net run-rate situation was a constant theme, possibly distractingly so for the hosts, and Afghanistan almost pulled off a real upset.
Australia tried to press the accelerator from the off but, having brought energy with his ferocious running between the wickets, Warner was bowled by seamer Naveen playing an audacious switch hit which resulted in him batting right-handed.
Steve Smith, brought in for his first game of the tournament for the injured Tim David, was out lbw in the same over and Mitchell Marsh was taken off a top-edge for 45 trying to slog-sweep Mujeeb ur Rahman into the stands.
Maxwell came closest to hitting top form but was restricted by the excellent Naveen at the death, who bowled a mixture of slower balls and yorkers. Only 25 runs came from the last four overs.
Australia would have hoped to set a far bigger target, which may have allowed them to be more aggressive with their field placings in the chase.
Instead they were pushed back by opener Rahmanullah Gurbaz's 30 from 17 balls and 39 from right-hander Gulbadin Naib.
The latter took Afghanistan to a position of strength - he and Ibrahim Zadran smashed 17 from a Kane Richardson over - until he was run out by a Maxwell direct hit from long-on and Ibrahim was caught a ball later.
Those wickets began a collapse of 4-4, at which point Afghanistan were 103-6 - below Australia's net run-rate target score.
Rashid took Afghanistan beyond that and when he whipped four sixes in his wristy style his side were back in the game.
Ultimately, though, Marcus Stoinis did enough in the final over, leaving Australia to rue their 89-run defeat by New Zealand in their opening game.
That left their net run-rate in a position from which they could not recover. All they can do now is hope for Sri Lanka to upset England in Sydney.