Real Madrid, Sevilla and Atletico Madrid were amongst the goals on Wednesday, but La Liga clubs Malaga and Osasuna lost their first-leg ties.
Barcelona had to come from behind to clinch a 1-1 draw with Hercules at Estadio Jose Rico Perez.
After a goalless first half, Carles Alena (58′) cancelled out David Mainz’s 52nd-minute opener for the hosts to set up an intriguing second leg at the Camp Nou.
Earlier in the evening, an under-strength Real Madrid dispatched lower-league side Cultural Leonesa 6-1 at the Santiago Bernabeu.
Mariano Diaz (1, 42′, 87′) led the way with a hat-trick, while James Rodriguez (23′) and Enzo Fernandez also got on the scoresheet for the hosts, with an own-goal from Cesar Morgado completing the rout.
Meanwhile, Atletico Madrid also won big as they ran out comprehensive 6-0 victors over Guijuelo at Estadio Municipal.
— Real Madrid C.F. (@realmadriden) 30 November 2016
First-half goals from Saul (29′ pen) and Sime Vrsaljko (45′) put Atleti in control at the break, before Yannick Carrasco (49′, 53′), Angel Correa (57′) and Roberto Nunez (85′) sealed the victory in the second half.
Elsewhere, Sevilla thrashed Formentera 5-1 at Estadio Municipal, with two players doing all the damage.
Two penalties from Wissam Ben Yedder (1′, 74′) helped secure the win, but Joaquin Correa (15′, 29′, 43′) was the star of the show with a first-half hat-trick.
Malaga have it all to do at La Rosaleda after they suffered a disappointing 2-0 defeat to Cordoba at Estadio Nuevo Arcangel.
Second-half goals from Rodri (71′) and Borja Dominguez (83′) gave Los Califas the advantage heading into the second leg.
In the only all-La Liga encounter of the night, Granada narrowly beat Osasuna 1-0 at Estadio Nuevo Los Carmenes, with Jon Toral scoring the only goal of the game on 52 minutes.
Copa del Rey results in full:
Toledo 0-3 Villarreal
Formentera 1-5 Sevilla
Real Madrid 6-1 Cultural Leonesa
Guijuelo 0-6 Atletico Madrid
UCAM Murcia 0-1 Celta Vigo
Cordoba 2-0 Malaga
Granada 1-0 Osasuna
Hercules 1-1 Barcelona