The Barcelona forward continued his fantastic international form with his ninth goal of the season, as la Roja warmed up for next month's World Cup qualifiers with a win in Qatar
It was a landmark day for la Roja's present and future, with veteran Carles Puyol picking up his 100th international cap, while Cesar Azpilicueta, Isco and Mario Suarez all made their senior debuts.
A horrible error from Fernando Muslera saw Cesc Fabregas give Spain the lead after 15 minutes, but Uruguay restored parity with a well taken goal by Cristian Rodriguez to enter half-time all square.
But the European and world champions would take control of the game in the second period, as Pedro scored six minutes after the restart, before striking his second with a quarter of an hour remaining to seal the game.
Vicente Del Bosque named a starting line-up featuring seven Barcelona players, including keeper Victor Valdes, who was handed a rare start in goal due to the absence of Iker Casillas with a hand injury.
Meanwhile, Oscar Tabarez fielded a familiar looking XI for Uruguay, featuring Napoli’s Edinson Cavani and Liverpool’s Luis Suarez up front, with both players in superb form at club level.
It was a moment of humiliation from Fernando Muslera that gifted la Roja the lead after 16 minutes. Fabregas’ shot from 30 yards out seemed like a routine catch, but somehow, the keeper allowed the ball to escape from his grasp into the back of the net.
The South American side nearly responded within moments, but Cavani, having chased down a long pass from Diego Perez, could not bring the ball under control in time to beat the onrushing Valdes.
Seconds before the half hour mark, Puyol stabbed home a cross to seemingly mark his occasion with a goal to put Spain in front, but the linesman’s flag chalked off the effort for offside. And the call was doubly hard for Spain to swallow because, within minutes, Uruguay were level.
Martin Caceres, who looked lively at left-back throughout the first half, played a low pass into the feet of Rodriguez, who turned exquisitely away from Puyol before slotting low into the corner.
Uruguay, to their credit, did not seem fazed by Spain’s customary dominance of possession, and more than matched the European champions to deservedly enter the half-time break level.
But la Roja started the second half on fire, and six minutes after the restart, surged back in front. Half-time substitute Gerard Pique pounced on a defensive error to release Pedro, who wasted little time in sliding the ball into the far corner.
Cavani again had a chance to respond instantly, but after latching onto another incisive pass from Perez, drilled his strike agonisingly wide of the far post.
But Spain were always in control of the second half, and put the game beyond Uruguay’s reach with a quarter of an hour to go. A sweeping counterattack saw Fabregas release Villa, who in turn crossed for Pedro to stab home at the far post.
By this point, Del Bosque's men were out of reach, and ran out the clock in control, even spurning late chances for a fourth as la Celeste simply ran out of gas.
Both sides will be in action next for their World Cup qualifiers on March 22, as Spain host Finland, while Uruguay welcome Paraguay.