Spain predictably dominated possession against the South American champions at the Khalifa International Stadium in Doha and took the lead in the 16th minute thanks to a dreadful blunder by Fernando Muslera.
Cesc Fabregas let fly from distance straight at the Uruguay goalkeeper but he could only palm the swerving shot behind him and into the empty net.
Uruguay were level in the 32nd minute when Martin Caceres slipped the ball through to Cristian Rodriguez and he side-footed past Victor Valdes.
Pedro made it 2-1 six minutes after the break with a low angled shot and turned in a fine Fabregas cross in the 74th minute for his ninth goal in his last six internationals.
(For more sports news and updates, follow Ahram Online Sports on Twitter at @AO Sports and on Facebook at AhramOnlineSports)