The Reds had gone ahead through Matty Virtue in an evenly contested first half at Leigh Sports Village, but were quickly pegged back by the resurgent visitors in the second, Bruno Costa finishing emphatically.
And, despite some late heroics from Danny Ward in the hosts' goal, they could not hang on for extra-time as Santiago Irala headed home in the fourth minute of time added on to book his side a place in the last four.
With the U23s having been in action just four days earlier - winning 4-0 at Stoke City - Critchley opted to make eight changes to his starting XI.
Only George Johnston, Elijah Dixon-Bonner and Tony Gallacher retained their places, while Virtue made a brief return from his loan stint at Notts County to start.
A cagey start to proceedings saw few chances for either side, but when Toni Gomes headed just over following brilliant work from Bobby Adekanye 20 minutes in, the game sprang to life.
Porto forward Danubio Ribeiro tested Ward from distance shortly after, before a mix-up between Johnston and Conor Masterson almost resulted in Madi Queta turning home.
Gomes then went close again from a Liam Millar cross and Porto were nearly gifted the lead when Ward spilled the ball inside his area only for a defender to clear.
When the opening goal finally did come, it was courtesy of a marvellous team move.
Adam Lewis, restored to midfield having played so much of the season at left-back, underlined the wisdom of that decision with a brilliant turn and through-pass for Millar, whose cut-back gave Virtue time and space to poke the ball in.
The visitors had two penalty claims turned away in quick succession before the break - Neco Williams and Masterson allegedly handling - but in the end they were somewhat fortunate to go in only one down.
Lewis came within inches of carving out a two-goal lead when his free-kick rattled the post, while Virtue was unable to turn the rebound home.
Porto made the brighter start to the second period, with only some last-ditch Liverpool defending keeping the Portuguese outfit at bay.
But the hosts' resistance was eventually broken 20 minutes into the half as a lightning-fast one-two allowed Costa to burst into the box before slamming a finish in the roof of the net.
The Reds quickly worked their way back into the game following the equaliser, controlling possession and showing more care to guard against Porto's attempts to counter.
And they twice came close to restoring an advantage during that spell, with Gomes and Millar both almost turning in dangerous left-wing crosses from Adekanye after well-worked build-up.
But it was a similar ball into the Liverpool box that almost gave the visitors the win in the final 10 minutes, with Ward producing a stunning diving save to keep out a goalbound header from Joao Cardoso.
And the Welshman went one better minutes later, somehow tipping a point-blank Irala header over the bar when a goal looked a certainty.
Unfortunately for the hosts, that wouldn't prove to be enough to send the game to extra time, and there was little Ward could do when the same man found acres of space in the final minute of injury time to nod in.
Liverpool U23s: Ward, N. Williams, Masterson, Johnston, Gallacher, Dixon-Bonner, Virtue, Lewis, Millar, Adekanye, Gomes (Sharif, 87).
Unused subs: R. Williams, George, Boyes, McAuley, Clayton.