After being held to a 0-0 draw in Belgrade in September, La Roja needed just five minutes to open the scoring in Cordoba, with Aymeric Laporte meeting a superb curling cross from Pedro Porro to head home at the back post.
Despite the absence of several key players including Lamine Yamal, Rodri, Dani Carvajal, Robin Le Normand, Dani Olmo and Nico Williams, Spain outplayed Serbia from start to finish and were presented with the opportunity to double their advantage nine minutes after half time, but captain Alvaro Morata blazed a poor penalty high over the crossbar.
However, the AC Milan striker made amends in stylish fashion on the 65-minute mark when he swept home a sweet left-footed strike after a neat La Roja move.
Not long after Aleksandar Mitrovic missed Serbia's best chance of the match from close range, defender Strahinja Pavlovic was sent off following a VAR review for a last-man challenge, and Spain's Alex Baena scored from the resulting free kick, whipping a right-footed shot into the far corner.
La Roja almost scored a fourth goal when substitute Pedri hit their crossbar from inside the penalty area, but Luis de la Fuente's side eventually settled for a comfortable three-goal triumph.
Spain remain top of League A Group 4 after four matches and sit three points clear of second-placed Denmark, who drew 2-2 with Switzerland and sit three points ahead of Serbia in third.
SPAIN VS. SERBIA HIGHLIGHTS
Aymeric Laporte goal vs. Serbia (5th min, Spain 1-0 Serbia)
Spain needed just five minutes to open the scoring in Cordoba, with right-back Pedro Porro whipping a delightful cross towards the back post where Aymeric Laporte headed home his second international goal for La Roja from a tight angle.
Alvaro Morata misses penalty vs. Serbia (54th min, Spain 1-0 Serbia)
Spain were awarded a penalty after Porro's cross from the right was blocked with the arm of Veljko Birmancevic. However, Alvaro Morata stepped up and fired his effort from 12 yards well over the crossbar.
Alvaro Morata goal vs. Serbia (65th min, Spain 2-0 Serbia)
Morata atoned for his poor penalty miss by scoring a delightful goal to double Spain's advantage just after the hour mark, rounding off a slick free-flowing move from the hosts with a superb first-time strike swept into the far corner.
Strahinja Pavlovic sent off vs. Spain (76th min, Spain 2-0 Serbia)
Mikel Oyarzabal was felled on the edge of the penalty area after chasing a through-ball in a central position in behind Serbia's defence. Pavlovic was initially awarded a yellow card but that was upgraded to a red following an on-field review at the VAR pitchside monitor by the referee.
Alex Baena goal vs. Serbia (77th min, Spain 3-0 Serbia)
From the resulting free kick, Villarreal star Alex Baena stepped up a curled a perfect shot with his right foot over the wall and into the far corner - his first goal for Spain since his debut in December 2023.
MAN OF THE MATCH - PEDRO PORRO
Alex Baena deserves a special mention for his all-round display and superb goal, but Pedro Porro was arguably Spain's standout performer on the night, posing a constant threat down the right and curling countless deliveries into the danger zone.
The Tottenham Hotspur right-back set up Laporte for his opener and produced a total of six key passes throughout the 90 minutes, while he also won five ground duels, helped Spain keep a clean sheet and also won the penalty that Morata unfortunately missed early in the second half.
SPAIN VS. SERBIA MATCH STATS
Possession: Spain 67%-33% Serbia
Shots: Spain 30-3 Serbia
Shots on target: Spain 10-1 Serbia
Corners: Spain 6-2 Serbia
Fouls: Spain 12-12 Serbia
BEST STATS
WHAT NEXT?
Both countries will resume their Nations League campaigns in mid-November, with Spain facing Denmark away from home on November 15 in their penultimate fixture, before hosting Switzerland three days later.
As for Serbia, they will conclude their League A campaign with a trip to Switzerland, followed by a home encounter against Denmark.