The world and European champions were good value for their win as they upped the tempo in the second-half to put their Balkan opponents to the sword in Switzerland
After an insipid first-half, the Iberian nation played at a higher tempo in the second period with Adrian opening the scoring in the 64th minute before then winning a penalty for his team nine minutes later. Santi Cazorla stepped up to calmly grab Spain's second as they held on for a comfortable win.
Spain started the brighter of the two sides and created the first chance of the game in the second minute. Alvaro Negredo picked the ball up just outside the box before spinning and unleashing a powerful low drive which Damir Kahriman was equal to, parrying it to safety.
The reigning World and European champions continued to dominate proceedings and nearly took the lead through an audacious effort from Xabi Alonso on 28 minutes. The Real Madrid man picked the ball up well within his own half before launching it goalwards, leaving the Serbia keeper sweating as the ball narrowly headed over the crossbar.
Three minutes later Negredo dispossessed Dusan Tosic on the edge of the penalty area before firing a shot towards Kahriman which just missed the target with the shot-stopper at full stretch.
Despite looking comfortable, Serbia fired a warning sign to Vicente del Bosque's men in the 37th minute when they had a goal narrowly chalked off for offside. Aleksandr Kolarov's low ball into the box picked out Dejan Lekic who slotted home from 10 yards out yet the linesman's flag was up.
Spain introduced Adrian, David Silva, Benat and Alvaro Dominguez at the interval and immediately La Furia Roja increased their tempo, looking more dangerous in the final third.
In the 62nd minute, Silva's precise pass picked out Adrian who looked odds on to test the keeper from close range. However, the Atletico Madrid man could only scoop his effort harmlessly over the bar for a Serbian goal kick.
However, the favourites for the European Championship did not have to wait long for the opener when they grabbed the first goal of the game two minutes later. Jesus Navas controlled Benat's exquisite long ball before playing a deft cross into the box for Adrian to head into the net from six yards out - the young forward's first goal for the national side on his senior debut.
On 73 minutes, a superb run from Adrian saw him run free of Branislav Ivanovic with the Chelsea defender bringing the attacker down in the box with a penalty being awarded. Santi Cazorla stepped up to take the spot kick, firing it down the centre of the net to double La Roja's advantage and secure the win.
Del Bosque announces his final 23-man squad on Sunday before facing South Korea in their next Euro 2012 warm-up match on Wednesday in Innsbruck, Austria. Serbia on the other hand failed to qualify for the summer event and are in action versus France on Thursday in another friendly.