CHITTAGONG — Dale Steyn and JP Duminy led South Africa to a thrilling two-run win over Group One rival New Zealand Monday that kept it in the hunt for a semifinal spot at the World Twenty20. South Africa, which lost its opening match to Sri Lanka, struggled early on and needed a blistering unbeaten 86 off 43 balls by Duminy to reach 170 for six. New Zealand seemed to be cruising in its reply thanks to Kane Williamson's 35-ball 51 and Ross Taylor's 62. It needed 31 off 24 deliveries with seven wickets in hand but a brilliant two-over spell from Steyn (4-17) turned the match on its head. The fiery paceman dismissed the dangerous Corey Anderson for seven in the 18th over and then picked up two for four in the last over with the Kiwis, who beat England in their first match, requiring seven for victory. Taylor, needing three off the last ball, was run out. “I was thinking all the time, Dale is my trump card and I need to bring him back in the game because he was bowling beautifully,” South Africa captain Faf du Plessis, who missed the Sri Lanka match with injury, said at the presentation. “But with the way they were hitting the ball ... it was a fantastic effort from Dale. “We were in huge trouble at the start. JP took his time and then hit it sweetly at the end. Fantastic effort and one of the best innings I have seen him play.” Leg-spinner Imran Tahir also played a key role, taking two for 27, but paceman Morne Morkel had a day to forget as he went for 50 in three overs. “Credit to South Africa for the way it hung in there ... We probably should have won it pretty easily,” New Zealand captain Brendon McCullum said. “But you can't probably take it to the last over against such a quality bowler like Dale Steyn. “Little bit of luck today and we would have got across the line but credit to South Africa for their performance.” Earlier, Hashim Amla (41) and Duminy fought back with a 55-run stand after South Africa had slumped to 42 for three. The fourth-wicket partnership was broken in bizarre fashion when Amla thumped a ball from Anderson and it hit Duminy's bat at the non-striker's end before spooning up for the bowler to complete an easy catch. Duminy was full of improvised strokes, bludgeoning 10 fours and three sixes as his side added 70 runs in the last five overs. Tuesday's match: Bangladesh vs. West Indies. — Reuters Scoreboard South Africa De Kock c Ronchi b Mills 04 Amla c & b Anderson 41 Du Plessis c N McCullum b Southee 13 De Villiers b N McCullum 05 JP Duminy not out 86 Miller c & b Anderson 06 Morkel b Southee 13 Steyn not out 01 Extras: (1w) 01 Total: (for 6, 20 overs) 170 Falls: 1-16, 2-32, 3-42, 4-97, 5-131, 6-159. Did not bat: Morne Morkel, Imran Tahir, Lonwabo Tsotsobe. Bowling: Kyle Mills 4-0-29-1, Mitchell McClenaghan 4-0-30-0 (1w), Tim Southee 4-0-46-2, Nathan McCullum 4-0-24-1, Corey Anderson 3-0-28-2, Kane Williamson 1-0-13-0. New Zealand Guptill c de Kock b A Morkel 22 Williamsonc de Villiers b Steyn 51 B. McCullum st de Kock b Tahir 04 Taylor run out 62 Munro c Amla b Tahir 07 Anderson c Miller b Steyn 07 Ronchi c de Kock b Steyn 05 N. McCullum c Du Plessis b Styen 04 Southee not out 00 Extras: (2lb, 4w) 06 Total: (for 8, 20 overs) 168 Falls: 1-57, 2-66, 3-117,4-140, 5-148, 6-164, 7-168, 8-168. Did not bat: Kyle Mills, Mitchell McClenaghan. Bowling: JP Duminy 3-0-30-0, Lonwabo Tsotsobe 4-0-29-0 (1w), Dale Steyn 4-0-17-4, Morne Morkel 3-0-50-0 (1w), Albie Morkel 2-0-13-1, Imran Tahir 4-0-27-2 (2w).