Russia made a positive start to their opening match of the tournament, under pouring rain in the Austrian town of Innsbruck, but in the 21st minute Fernando Torres stole the ball from Denis Kolodin and advanced on the Russia goal before crossing to Villa, who slotted home.
Soon before half-time Villa latched onto a pin-point pass from Andres Iniesta to score through the legs of Russian goalkeeper Igor Akinfeyev. The striker made it three in the 75th minute, off a pass from Arsenal midfielder Cesc Fabregas.
Four minutes before the end of normal time, Russian striker Roman Pavlyuchenko headed into the Spanish net from a corner, but in the final minute Fabregas clinched the rout for Spain, picking up a rebound from Xavi's shot.
After Spain, Russia face Greece on June 14 and Sweden on June 18 in Group D. Dutch trainer Guus Hiddink's Russian side is hoping to make history by making it past the group stage of a major tournament for the first time since the collapse of the Soviet Union.