Layton Stewart twice equalised with penalties for Marc Bridge-Wilkinson’s side in this second-versus-third contest, with the striker’s first spot-kick cancelling out Tai Sodje’s early opener shortly before the half-hour mark.
City edged back in front on the stroke of half-time through Micah Hamilton, only for Stewart to repeat the trick from 12 yards five minutes into the second period.
But Sodje struck again with 13 minutes remaining, and Alex Robertson sealed the hosts’ victory in stoppage time.
The young Reds are still above City in the table on goals scored - albeit having played two games more - and remain six points behind Manchester United following the leaders’ 1-0 loss to Burnley earlier in the day.
Liverpool U18s: Ojrzynski, Wilson, Quansah, Miles, Norris, Corness, Woltman, Mabaya, Cannonier, Musialowski (Frauendorf, 83), Stewart.
Unused substitutes: Mrozek, McConnell.