Lionel Messi scored twice, including his 600th goal for Barcelona, to leave Liverpool facing an uphill task in the return.
Article top media content
All you need to know in 60 seconds ...
There was plenty of attacking intent from these two five-time European champions but it was the home side who took the lead when Jordi Alba's fine cross was expertly guided past Alisson by Luis Suárez.
Sadio Mané skied a presentable chance to level before the break while James Milner, twice, and Mohamed Salah forced Marc-André ter Stegen into saves after it. Lionel Messi, not for the first time, proved to be a class apart.
Barça's talisman poached their second after Suárez had rattled the bar before giving his team a healthy cushion to take to Anfield with a sensational free-kick to bring up his 600 for the Catalan club.
View from the stadium: Graham Hunter
As astonishing as football can be, and despite the fact I've been watching football here at Camp Nou for at least a quarter of a century, I've rarely seen a match as remarkable as this.
It's inescapable that Liverpool could have won, possibly should have. But Barcelona stayed doggedly faithful to their belief that if they fed Messi things would happen and, somehow, they did. That 3-0 free-kick ranks with the best of his 600 club goals. Utterly remarkable.
Man of the match: Lionel Messi
It seemed only a matter of time before Liverpool fashioned what would have been a deserved equaliser at Camp Nou – until Messi decided to take matters into his own hands. If his first of the game showed sheer determined goalscoring instinct, the free-kick seven minutes later almost defied belief. The Argentinian maestro has put Barça on the brink of another UEFA Champions League final – 14 years to the day since he bagged his first goal for the club.
3: Barcelona have scored three or more goals in eight of their last ten UEFA Champions League knockout-stage home matches.
12: Suárez's last 12 UEFA Champions League goals have come at Camp Nou.
600: Messi's second of the night was his 600th for Barcelona.
26: Messi has now scored 26 goals in 33 games against English opponents – more than against teams from any other country.
32: Barcelona extend their competition record to 32 home matches unbeaten.
500: Suárez's strike was Barcelona's 500th in the UEFA Champions League era, group stage to final.
What does it mean?
Barcelona break their hoodoo against Liverpool, winning for the first time against them at the fifth time of asking. They have not lost by three goals in England since a 3-0 defeat at Manchester United in the 1983/84 European Cup Winners' Cup quarter-finals, so Liverpool will be battling the weight of history when the sides reconvene on 7 May.
Barcelona's first Liga assignment since retaining their Spanish title is at Celta Vigo on Saturday. They have further league fixtures against Getafe (a) and Eibar (h) after the second leg, with the Copa del Rey final against Valencia following on 25 May. Will there be another final looming by then?
Premier League title-hunting Liverpool travel to Newcastle on Saturday evening, with Wolves the visitors to Anfield for the Reds' final domestic date of the season on 12 May.