Barcelona beat Osasuna 2-0 in Saudi Arabia to set up a Spanish Super Cup final on Sunday with Real Madrid.
After a goalless first half, Robert Lewandowski put Barca ahead in the 59th minute when he scored with a low shot after collecting Ilkay Gundogan's pass.
Andreas Christensen and Lewandowski had earlier had shots saved by Sergio Herrera, with Ante Budimir missing a good opportunity for Osasuna.
Lamine Yamal scored Barca's second goal in the third minute of added time.
Barca have won the Spanish Super Cup a record 14 times and take on current La Liga leaders Real as they seek a 15th triumph.
The competition features the top three sides from last season's La Liga - champions Barcelona, runners-up Real and third-placed Atletico Madrid, as well as Osasuna, who lost to Real in the Copa del Rey final.
All the matches are taking place in Riyadh, Saudi Arabia, and this was the second of three games.
On Wednesday, Atletico were five minutes away from moving into the final before Real's Dani Carvajal scored to make it 3-3 and take it to extra time, with goals from Joselu and Brahim Diaz giving them a 5-3 victory.
BBC