Afghanistan qualified for the semi-finals of a World Cup for the first time by beating Bangladesh by eight runs in a tense low-scoring classic in St Vincent.
The victory sees them progress as runners-up from Super 8s Group 1, while putting Bangladesh, and heavyweights Australia, out of the tournament.
They will now play South Africa in Trinidad on Thursday (01:30 BST), and are one match away from facing either defending T20 champions England or India in Saturday’s final.
Needing a win to advance to the knockout stage, Afghanistan underperformed with the bat, scoring 115-5.
A rollercoaster, rain-interrupted run chase ensued, in which both sides and then Australia looked to be favourites to progress at different stages.
Ultimately it was Afghanistan who emerged triumphant, with captain Rashid Khan and Naveen-ul-Haq taking four wickets apiece to secure a famous victory.
Bangladesh, who were also seeking to reach their first World Cup semi-final, needed to win by a large margin to qualify on net run-rate (NRR).
They successfully throttled the dangerous Afghanistan opening pair of Rahmanullah Gurbaz and Ibrahim Zadran, who both fell to leg-spinner Rishad Hossain (3-26), but Rashid hit three late sixes to boost the total.
Bangladesh’s target was revised to 114 off 19 overs, but they knew they had to knock off the runs in 12.1 overs to turn the NRR in their favour.
Opener Litton Das anchored the innings, ending on 54 not out, but they lost veteran Shakib al Hasan and captain Najmul Hossain Shanto to successive balls from Naveen in the third over.
Despite failing with their own quest, the Tigers remained in contention for a consolation win that would have seen Australia qualify ahead of Afghanistan on NRR.
But Naveen took the final two Bangladesh wickets in successive deliveries, either side of a short rain delay, to begin rapturous celebrations.