On a wet night at the Estadio do Dragao, Liverpool weathered an early storm against Porto before scoring from their first attempt just before the half-hour, Sadio Mane prodding home for a goal given after a lengthy VAR review.
Already in control of this tie after a 2-0 win at Anfield in the first leg, Liverpool had effectively killed off Porto there and then, but Mohamed Salah, substitute Roberto Firmino and Virgil van Dijk added further goals after the break.
Eder Militao scored a consolation for the hosts 21 minutes from time, but this was another miserable night for them after they lost 5-0 to the same opponents on this ground a year ago.
Liverpool now march on to a clash with Lionel Messi's Barca, the first meeting of the clubs since a last-16 encounter in 2006/07 that the Reds won on away goals.
"I'm looking forward to it. The news that there is a proper football game between Barcelona and Liverpool is great," said Klopp as his side move a step closer to matching their run to the final a year ago.
"To be in the semi-finals for the second year running is a big statement. I am really proud of the boys for what they did."
On the night Manchester City's quadruple bid died, the dream of a Champions League and Premier League double remains alive for Liverpool and their supporters, whose spirits were not dampened by the dreary weather by the banks of the River Douro.
This was their 17th game without defeat and their eighth straight victory, although Barcelona will offer a far tougher test than Porto.
The first leg of that tie is in a fortnight, and in the meantime Liverpool will revert their focus to domestic matters, with games against Cardiff City and Huddersfield Town up next.
"Tonight we are in the semi-finals and we play on Sunday against Cardiff. That will be 100 percent on my mind when I wake up tomorrow and not Barcelona," insisted Klopp.
With the matches coming thick and fast, he made three changes to his team here following Sunday's 2-0 win over Chelsea. Firmino and Naby Keita, who both scored in the first leg, dropped out along with Jordan Henderson.
They were replaced by Georginio Wijnaldum, James Milner and Divock Origi, with the latter making his first Champions League start for the club. However, the Belgian only played the first half before making way for Firmino.
- Early onslaught -
He had hardly touched the ball during a Porto onslaught in the opening stages, sparked by a Jesus Corona shot just over the bar in the first minute.
They had 13 attempts on goal in the first 25 minutes, but would regret not scoring while on top.
"There was a very good football atmosphere and they used it and it was so powerful the game of Porto and so difficult to deal with," Klopp said.
"Porto needed an early goal tonight and didn't score it. I'm completely happy. It's only important to go through, and we went through."
Their opening goal came when Salah -- his every touch jeered by the Porto support who felt he should have been sent off in the first leg -- rolled the ball into the six-yard area for Mane to get his 22nd of the campaign.
The offside flag came up but Dutch referee Danny Makkelie conferred with his video assistants before awarding the goal.
Porto knew their chance was gone, with their fans cursing Mane again -- he scored a hat-trick in Liverpool's win here in the last 16 last season.
Trent Alexander-Arnold released Salah to run through and beat Iker Casillas on 65 minutes to make it 2-0, before Porto got their consolation shortly after when Militao headed in from an Alex Telles corner.
However, Mane missed the target after rounding Casillas, before Henderson set up fellow substitute Firmino to head in Liverpool's third on 77 minutes and Van Dijk nodded in from a corner to complete the scoring.
"Like at Anfield, it was a harsh result for how we played," said Porto coach Sergio Conceicao.
"If we had been more clinical, everything would have been different."