The Young Warriors suffered their first defeat at the COSAFA U20 tournament, losing 4-1 to Angola.
Zimbabwe who had already qualified for the semifinals finished on top of Group C with six points and will face Zambia on Tuesday. Angola also reached the last four round as best runner-up, setting a date with South Africa.
Coach Bekithemba Ndlovu made several changes to the first team with the likes of Tatenda Tumba, Delic Murimba and captain Mbongeni Ndlovu all rested.
Liberia opened the scoring through Daniel Liberal in the 6th minute, and Jelson António João Mivo converted a penalty in the 39th minute to give a 2-goal cushion before the break.
Liberal completed his brace a minute into the second half, but Black Rhinos man Blessing Sarupinda gave the Young Warriors some hope when he pulled one back a few moments later.
Fernando Mateus Duarte, however, restored the 3-goal lead when he smashed home on the 63rd minute to make it 4-1.
Zimbabwe never recovered again as they suffer a defeat in the encounter.