Ireland have missed out on a World Cup place as Afghanistan prevailed by five wickets in the winner-takes-all Super Sixes match in Harare on Friday.
Zimbabwe’s shock defeat by UAE meant the winners of the final Super Sixes game would join West Indies in earning a place in England and Wales.
Ireland could only manage 209-7 in their 50 overs with Paul Stirling top-scoring on 55.
Mohammad Shahzad’s 55 saw Afghanistan to 213-5 with five balls to spare.
Ireland were aiming for a fourth straight World Cup appearance but they were dealt a blow as they lost to Zimbabwe in their opening Super Sixes game.
Victory over Scotland kept alive their slim hopes and other results left them one match away from qualification.
Afghanistan impressed with the ball, restricting the Irish to a modest total with Rashid Khan taking 3-40 and Dawlat Zadran 2-54.
The usually free-scoring Stirling required 124 balls for his 55 while Kevin O’Brien chipped in with 41 in a disappointing Irish innings.
Shahzad and Gulbadin (45) laid the foundation for Afghanistan’s win with an opening stand of 86.
Ireland fought back as the Afghans stumbled from 113-1 to 145-4 and the score pressure was beginning to build.
However, Afghanistan always held the upper hand and an unbeaten 39 from captain Asghar Stanikzai took them to the victory target in the final over.
“We were probably 25 runs short. Then again, in games like this we can’t fault anyone – we had opportunities but we lost three games,” said Ireland skipper William Porterfield.
“We had some key moments but we could not take them. We now get back for some rest and recuperation.”
Former Irish coach Phil Simmons is in charge of Afghanistan while ex-Ireland player John Mooney is their fielding coach.
They go through to the tournament final against West Indies on Sunday with both sides already qualified for the World Cup.