The win helped them to advance to their second successive final match with a 4-3 aggregate victory.
Two goals each from stand-in forward Divock Origi and halftime substitute Georginio Wijnaldum left Lionel Messi and FC Barcelona utterly shell-shocked by a Liverpool performance full of passion, belief and determination.
Juergen Klopp’s side will play the winner of Wednesday’s other semi-final pairing between Ajax Amsterdam and Tottenham Hotspur, with the Dutch side leading 1-0 from the first leg in London.
“Unbelievable. I don’t think many people gave us a chance,” said Liverpool captain Jordan Henderson.
“Before the game we knew that it would be difficult but it was still possible of course. It’s amazing. We knew that at Anfield we could do something special.”
Liverpool become only the third team in the history of the European Cup or Champions League to come from three goals down after the first leg of a semi-final and progress.
Only Panathinaikos in 1970/1971 and FC Barcelona themselves in 1985/1986 have ever done it.
For Barca, who went out on away goals to AS Roma in the quarter-finals last year after winning the first-leg 4-1, it was a bitter night.
It was a night that will raise many questions for coach Ernesto Valverde.
Messi, whose two goals in the first leg had given his team a seemingly comfortable advantage, was unable to make his influence on the game count.
They needed an away goal that would have been decisive.
Liverpool, without two thirds of their strike force with Mohamed Salah and Roberto Firmino injured, took a seventh minute lead.
That was when a poor headed clearance from Jordi Alba fell at the feet of Jordan Henderson, who burst goalwards.
His low shot was parried out by Barca keeper Marc-Andre ter Stegen but it went straight to Origi who slotted home.
Barca had openings in the first half, but when Messi twice got space around the box he fired wide of the target.
Also, when Jordi Alba burst goalwards just before halftime, Liverpool goalkeeper Alisson Becker was out quickly to nullify the danger.
Yet the game took a remarkable turn following the introduction of Liverpool midfielder Georginio Wijnaldum for the injured left-back Andy Robertson at the break.
The Dutchman drove home a low cross from Trent Alexander-Arnold, which Barca goalkeeper Ter Stegen should have saved, to make it 2-0 in the 54th minute.
Two minutes later Wijnaldum rose to meet a Xherdan Shaqiri cross with a powerful header to make it 3-3 on aggregate.
Liverpool then grabbed an extraordinary fourth goal with a quickly-taken corner kick from Alexander-Arnold.
He caught the Barca defence asleep with a low ball that was turned in at the near post by Origi.
That sent Anfield wild.
But then, Klopp’s side suddenly found themselves needing to switch mindset and defend a lead as Barca slipped, belatedly, into their trademark possession game.
Yet, with Virgil Van Dijk and Joel Matip outstanding in the centre of defence and Brazilian Fabinho making some crucial interventions in midfield, Liverpool held on.
Klopp’s side, who lost to Real Madrid in last year’s final match in Kiev, remain in with a chance of a double triumph.
They head into Sunday’s final round of English Premier League (EPL) games trailing leaders Manchester City by just a point.