Kristian Clarke handed the Kiwis a thrilling last-over victory to knock Sri Lanka out of the tournament.
New Zealand knocked Sri Lanka out of the U-19 World Cup with a three-wicket win while Afghanistan joined them in the quarter-finals following a 160-run victory over United Arab Emirates in Bloemfontein on Wednesday.
After posting 242 for 9, Sri Lanka bowlers took the game into the final over.
New Zealand needed six runs off the final two balls and number nine Kristian Clarke pulled off a memorable win with a six over deep midwicket, sending his team to the quarter-finals.
Afghanistan too advanced with their second win in as many games. They were too good for the UAE, bowling them out for 105 after scoring 265 for six.
Ibrahim Zadran (87) top-scored with the bat while leggie Shafiqullah Ghafari picked a five-wicket haul.
Pakistan were stretched by Zimbabwe but they managed to eke out a 38-run win in Potchefstroom. Mohammad Haris (81) top-scored as Pakistan made 294 for nine.
Zimbabwe fought hard courtesy Milton Shumba (58) and Wesley Madhevere (53) but faltered towards the end to be dismissed for 256 all out.