Spain and Portugal are tied for second in Group B with one point each, while Iran leads the group with three points after beating Morocco 1-0 earlier Friday.
Spain took a short corner and after Gerard Pique and Sergio Ramos headed the ball back across the face of goal from Andres Iniesta's cross, Silva went for the overhead kick at close range, but saw it fly over the crossbar.
Saied Ezatolahi thought he'd equalised midway through the second half but, to Spain's relief, the goal was chalked off for offside.
The former champions could have started on a better note if they hadn't sacked their coach Julen Lopetegeui two days prior to World Cup opener against Portugal.
Iran, though, did not lie down as other teams have done in this World Cup, instead laying into Spain with everything they had. They took a while to get into the game.
Uruguay will start as the top dogs going into the match against Saudi Arabia, who were thumped 5-0 by hosts Russian Federation in the 2018 edition's curtain-raiser.
The result left Spain joint top of their group with Portugal on four points, with Iran close behind on three going into the third and final set of games. Any concerns about turmoil on the Spanish squad were laid to rest following the coaching change that occurred just before the World Cup began.
You can stream the World Cup games on fuboTV (Try for free).
Not an impressive result for Spain, who didn't look almost as sharp in attack as they did in the 3-3 draw against Portugal to open the tournament. The Atletico Madrid striker showed his individual class and poaching instincts with both goals and will be charged with breaking the deadlock against a mean Iranian defence.
The Man City star is likely to start again against Iran and his influence will be crucial if Spain is to pick up their first victory of the 2018 World Cup.
What time does the FIFA World Cup 2018 Iran vs Spain begin in IST?