England will face Bangladesh in the last eight of the Under-19 World Cup after losing their first defeat of the competition against Zimbabwe. They collapsed from 157-4 to 172 to Zimbabwe's spinners with Rory Hamilton-Brown (47) top-scoring.
Tight bowling helped restrict the Zimbabweans to 118-7 but Test spinner Graeme Cremer and Justice Chibhabha guided them to a tense victory.
In the Plate quarters Ireland face New Zealand and Scotland meet South Africa.
Elsewhere, defending champions Pakistan booked their place in the last eight by hammering the Kiwis by eight wickets.
They bundled out New Zealand for 77 in 24 overs thanks to Anwer Ali Khan's 5-34, before knocking off the target in only nine overs.
A partnership of 132 from Rohit Sharma (78) and super-sub Mayank Tehlan (64) was the key for favourites India as they earned a four-wicket win over hosts Sri Lanka.
India will next face West Indies, for whom captain Leon Johnson hit a composed 83 as they saw off South Africa by seven wickets.