Lionel Messi set up both goals in Pamplona as Jordi Alba hammered home in the first half before the 18-year-old Ilaix Moriba came off the bench to curl in an impressive shot late in the second.
Copa del Rey: Martin Braithwaite scores winner as Barcelona beat Sevilla in extra-time, progress to final
Barcelona will face either Athletic Bilbao or Levante, who are 1-1 in their semi-final, in the final on 17 April in Seville.
Barcelona looked dead and buried a few weeks ago but this was their ninth win out of 10 in LaLiga, a surge that has put them back in contention.
LaLiga: Sevilla sporting director Monchi reveals his methods, discusses scouting department and success
Sevilla's sporting director Monchi has been in the role since 2001 and has overseen remarkable success at the LaLiga club. His policy remains, "never worry about selling players".
European football matchday: Manchester City face upbeat West Ham; depleted Juventus travel to Hellas Verona
Manchester City holds a 10-point advantage over Manchester United and Leicester as the Premier League leader plays at a West Ham side unusually elevated in fourth place
What to watch in European football this weekend: Lionel Messi-led Barcelona at Sevilla; Porto hope to stop runaway leaders Sporting and an 'Olympico'
Sevilla and Barcelona clash at the Ramon Sanchez Pizjuan on Saturday, with fourth-placed Julen Lopetegui side two points behind third-placed Barca while boasting a game in hand.
For most of this century, it has been a question of when, not if, a generational talent moves to Spain but now there are no guarantees.
Champions League: FC Porto stun lacklustre Juventus, but concede away goal; Haaland stars as Dortmund beat Sevilla
Such was Juventus' lacklustre performance that coach Andrea Pirlo claimed his team handed victory to FC Porto on 'a silver platter'.
Copa del Rey: Jules Kounde, Ivan Rakitic score as Sevilla's first leg win leaves Barcelona with mountain to climb
Barcelona's hopes of winning the Copa del Rey this season are now left hanging by a thread.
Holder Napoli visit Atalanta in the second leg of their Italian Cup semi-final.
LaLiga: Raphael Varane double leads Real Madrid comeback win at Huesca; Sevilla beat Getafe as coaches clash
The victory moved Real Madrid back into second place in the standings, closer to league leader Atlético Madrid.
Ocampos broke Almeria's stubborn resistance in the 67th minute, heading home Suso's cross.
Another transfer window in Spain passed quietly on Monday as none of the top teams made big signings while they continue to feel financially smashed by the coronavirus pandemic.
European football matchday: Manchester United aim to move level with City in PL; Inter Milan face Juventus in Coppa Italia
In Spain, Sevilla visit second-division Almería looking to make it to the Copa del Rey semi-finals for the first time since 2018, when they lost the title in a final against Barcelona.
Militao was shown a red card in the ninth minute at the Alfredo di Stefano Stadium, with his team already without their injured captain Sergio Ramos and COVID-stricken coach Zidane.
Copa del Rey: Lionel Messi scores on return from suspension to guide Barcelona to win over Rayo Vallecano
Messi tapped in Antoine Griezmann's pass to equalise before turning creator, sending Jordi Alba through, with Frenkie de Jong at the back post to seal a 2-1 victory.
Angel Correa and Saul Niguez scored as Atletico Madrid extended their Spanish league lead with a 2-0 victory over Sevilla.
LaLiga: Lionel Messi, Antoine Griezmann net two each as Barcelona rout Granada; Sevilla edge Real Sociedad
Second-placed Real Madrid were one point behind Atletico after being held at Osasuna to 0-0 in a match played in steady snowfall and with barely any scoring chances for either side.
Ibiza made no mistake in dumping out top-flight opposition Celta Vigo, racing into a 3-0 half-time lead over Celta, helped by two goals from Sergio Castel.
European football matchday: Spurs host second-tier Brentford in League Cup; Sevilla in Copa del Rey second round
Brentford are in fourth place in the 24-team Championship and have beaten four Premier League teams to get to their first ever cup semifinal.