Barcelona got an early lead through a stunning Ousmane Dembele strike, but then they were frustrated by their opponents, Sevilla. Lopetegui's side got a penalty in the 73rd minute, but Lucas Ocampos saw it saved by the keeper and then, once Sevilla were reduced to 10 men, Gerard Pique made it 2-0 with the last kick of the 90 minutes to force extra-time.
In extra-time, Barca were on top and Martin Braithwaite scored in the 95th minute. That meant Sevilla needed a goal to win, but they could not find it. The biggest moment came when the ball struck Clement Lenglet's arm in the box, but it was rightly turned down by the officials. It was a huge win for the hosts and they will face Levante or Athletic Bilbao in the final in April.
Barca dominated proceedings early on and Dembele and Busquets had early opportunities. Lenglet then tested the keeper 11 minutes in with a fine backheel and then Dembele scored after 12 minutes. Messi and Dembele combined, the latter got lucky as the ball broke back to him, but there was no fortune about the finish as he moved backwards towards the edge of the area before firing past Vaclik.
Barca continued to press and Pedri could have scored just after the half hour and then on 33 minutes, Messi saw a pass deflected by Fernando and Acuna had to clear off the line. The half then calmed down and Barca lead at the interval.
Sevilla looked to be more comfortable after the break and then Jordi Alba could have scored for Koeman's side when a volley from Dembele's pass cannoned off the bar. Then, the turning point came five minutes later. Oscar Mingueza brought down Lucas Ocampos in the box on a Sevilla counter and the ref pointed to the spot. However, Ocampos it a low penalty down the middle and Ter Stegen saved it. Had he scored, Barca would have needed three.
It was a Barca siege for the rest of the 90 minutes and a huge penalty shout against Ocampos was turned down. Then, Fernando got dismissed for a second yellow in the 92nd minute for pulling back Trincao.
Gerard Pique forced extra-time with the last kick of the game to break Sevilla hearts. A corner came in, a Sevilla player knocked it up in the air, but Diego Carlos headed the ball away to try and prevent the corner and it was an awful decision. Griezmann put the ball back into the box and Pique headed home to force extra-time.
In the extra 30 minutes, Junior tested Vaclik and then Braithwaite scored after 95 minutes when he headed home Jordi Alba's cross from close range. Sevilla never really recovered from that. They wanted a penalty when the ball struck Lenglet's arm in the 100th minute, but he deliberately played the ball with his chest first so it was not a pen.
Their frustration showed with plenty of cards and despite the odd half chance towards the end, Barca were comfortable and deservedly booked their place in the final.
Standout matches today