Trailing to Taylor Richards’ second-half opener, Reds centre-back Johnston stole in behind the visitors' defence to deftly flick Adam Lewis’ long pass over the advancing City goalkeeper.
The 83rd-minute strike secured a fourth 1-1 draw on the bounce for the young Reds in the league.
Neil Critchley’s men had beaten Swansea City 2-0 in the Premier League International Cup in their last outing, but a series of senior call-ups and a flurry of departures at the end of the January transfer window saw the manager make four changes to his side.
That included a debut for Liverpool-born striker Paul Glatzel, who has scored 21 times for the U18s this season - and he had a chance to open his account for the U23s midway through the first half.
The talented forward stole in to intercept a back-pass bound for City goalkeeper Daniel Grimshaw, but with the stopper rounded and stranded outside his box, he lofted a 25-yard shot over the bar.
It was as close as the Reds came to breaking the deadlock during a first half in which Manchester City enjoyed the lion’s share of possession, with a resolute Liverpool looking to hit the visitors on the counter-attack.
For all of City’s prodding and probing, a series of robust tackles from Johnston on the edge of the box and a wonderful last-ditch sliding interception from Connor Randall denied the visitors when they threatened to break the lines.
Reds 'keeper Shamal George was called into action to turn a low shot from City No.10 Adrian Bernabe round the foot of his post and deal with a potentially dangerous free-kick from Tom Dele Bashiru just before the break, but they were relatively routine saves.
After another bright start from City, it was debutant Glatzel who mustered Liverpool’s first shot of the second half as he bustled into the box from the right and stung the hands of Grimshaw with a rising drive from the angle.
The 17-year-old combined well with strike partner Glen McAuley when the Reds did threaten on the counter and was two offside flags away from having a pair of assists, with McAuley having efforts ruled out either side of half-time.
When the breakthrough did come, it arrived via the boot of City forward Taylor. With an hour gone, the No.9 finished low under George from inside the box to capitalise on the visitors' mounting pressure.
The Reds, however, were far from finished.
Luis Longstaff and Bobby Duncan came off the bench to replace Liam Coyle and Juanma as the Reds switched from a wing-back formation to a 4-4-2 diamond and pushed forward looking for the leveller.
With less than 10 minutes to go, it arrived. Yasser Larouci and Lewis exchanged passes from a free-kick inside Liverpool’s own half before the latter delivered his pin-point pass for Johnston to brilliantly steer home.
Substitute Duncan had a sniff of a winner in the dying seconds, but couldn’t quite generate enough power as he pounced on a half-chance on the turn.
Liverpool U23s: George, Randall, Juanma (Duncan, 76), Whelan, Johnston, Coyle (Longstaff, 71), Glatzel, Sharif, McAuley, Lewis, Larouci.
Unused substitutes: McKenzie-Lyle, Williams.