Trent Boult led a disciplined New Zealand attack to help restrict Afghanistan to 124 for eight in the Kiwis' bid to seal a semi-final spot in the Twenty20 World Cup on Sunday.
Najibullah Zadran played a lone hand with his 48-ball 73 to give the Afghanistan total some respectability after they elected to bat first in Abu Dhabi.
A win for New Zealand would take them into the final four but if they lose it would benefit Afghanistan and India, who have got the best run-rate in the group and play Namibia in their last match on Monday.
New Zealand's pace bowlers rattled the opposition's top order with quick strikes as Adam Milne sent back Mohammad Shahzad caught behind for four in his first over.
Boult got going from the other end to get Hazratullah Zazai out for two and Southee trapped Rahmanullah Gurbaz lbw for six as Afghanistan slipped to 19-3.
Zadran counter-attacked with a handful of boundaries including two off Jimmy Neesham but soon took to defence after losing his partner Gulbadin Naib for 15.
Naib dragged a wide delivery from Kiwi leg-spinner Ish Sodhi onto his stumps.
The left-handed Zadran smashed Santner for two sixes and later got to his 50 in a 33 balls. It was his second fifty in this T20 World Cup and sixth overall.
Southee broke the 59-run partnership, seeing off Nabi for 14.
Boult got the key scalp of Zadran with Neesham taking a good diving catch in the deep and the Afghans struggled to get runs in the final overs.