Silva and Villa help Spain stuff Belgium
Silva opened the floodgates with the first just before the break and the European champions ran away with it in the second half.
Villa, who had missed a first-half penalty, and Gerard Pique netted within a minute before Silva and Villa were on target again as Spain cruised to victory.
Vicente del Bosque's side maintained their 100 percent record to lead the group by six points from second-placed Bosnia, who beat Armenia 2-0 earlier in the day. Belgium are fourth, 14 points off the pace.
"We played very well from the start and should have been further ahead at the break," Villa told Spanish television after taking his international goal tally to 33.
"It was a fair result when you consider the number of chances we created."
Belgium were forced to field a third-choice goalkeeper because of injuries but Jean-Francois Gillet made a confident start as Spain poured forward.
He blocked a Villa shot from point-blank range early on and then saved his penalty.
Anthony Vanden Borre tripped the Valencia striker and when he drove his penalty straight down the middle, Gillet's trailing leg turned the ball wide.
Villa made amends just before the break when he threaded a ball through to Silva and the latter swivelled to fire the ball into the corner.
Immediately after the restart Fernando Torres headed wide with the goal gaping before Villa cut in from the left to beat Gillet from the edge of the area in the 49th minute.
A minute later Barcelona defender Pique surged into the Belgian half and played the ball out wide to Villa.
Pique continued his run into the area and when Villa returned the pass he coolly controlled the ball, waited for the keeper to commit himself and stroked in the third.
Silva curled in his second from outside the box in the 68th minute and the visitors were ripped apart again five minutes from time when substitute Cesc Fabregas beat the offside trap and unselfishly squared for Villa to complete the rout.