Handed a rare start ahead of Fernando Torres and David Villa, Soldado fluffed one chance in the first half in Tbilisi but made no mistake from close range when set up by substitute Cesc Fabregas in the 86th minute.
It was cruel on the home side, who had held out stubbornly against their illustrious visitors despite seeing precious little of the ball and losing goalkeeper Giorgi Loria to injury with around 20 minutes left.
Spain coach Vicente del Bosque threw on Pedro, Santi Cazorla and Fabregas in search of a breakthrough and it was Fabregas who finally unlocked the Georgia defence with a low cross that Soldado turned past substitute keeper Roin Kvaskhvadze.
In the night's other Group I match, Franck Ribery scored one goal and set up another as France beat Belarus 3-1 at the Stade de France to maintain their perfect start to their qualifying campaign.
Ribery set up Etienne Capoue for the opener before wrapping it up with a fine chip 10 minutes from time in a one-sided encounter that came to life after the interval.
Christophe Jallet scored France's second goal before Belarus reduced the arrears through Anton Putilo 18 minutes from time.
Les Bleus snatched their second win in as many games four days after a 1-0 victory in Finland but they failed to impress.
Italy laboured to a scrappy 2-0 win in their Group B qualifier against Malta in Modena, with an early strike from Mattia Destro and a late Federico Peluso header enough to earn them the three points.
Roma striker Destro latched on to a smart Claudio Marchisio through ball after five minutes but Cesare Prandelli's side struggled to build on their fast start in a lacklustre first half that drew jeers from the crowd.
Napoli's highly-rated Lorenzo Insigne replaced the disappointing Alessandro Diamanti at the start of the second half and Italy showed more attacking intent but had to wait until the last minute for Peluso to head the second goal from an Andrea Pirlo corner.
Victory puts Italy joint top of Group B on four points with Bulgaria, who beat Armenia 1-0 in Sofia, where Stanislav Manolev scored his second goal in the campaign in a match that featured three red cards.
The only goal came two minutes before the interval when Manolev, who also struck in Friday's 2-2 draw at home to Italy, turned in a cross from captain Ivelin Popov who had dribbled past 39-year-old right back Sargis Hovsepyan.
Bulgaria almost doubled their lead in added time as substitute Dimitar Rangelov was thwarted by advancing Armenia goalkeeper Roman Berezovsky.
Earlier, a dozen players were involved in a 73rd-minute fracas during which Bulgaria's Svetoslav Dyakov was shown a second yellow card and Armenia substitute Marcos Pinheiro was also sent off.
Armenia, who rarely looked like scoring, finished the game with nine men after Gevorg Gazaryan was dismissed for pushing a ball boy in the 77th minute.
Bulgaria, who have four points from two games, host Denmark in their next qualifier on October 12 while Armenia (three points) entertain Italy.
In Group C, Germany survived a torrid first half against neighbours Austria before Marco Reus and Mesut Ozil scored either side of halftime to give them a 2-1 win.
The Germans clung on for three points and only won after Marko Arnautovic missed a great chance for the hosts in the 87th minute.
Reus burst down the left, cut inside Gyorgy Garics and buried a low shot past Robert Almer three minutes before the break after the feisty hosts, fielding nine Bundesliga-based players, had looked capable of producing an upset.
Ozil, scorer of two goals in the 3-0 win over Faroe Islands on Friday, converted a penalty after Veli Kavlak recklessly clattered into Thomas Mueller.
Austria, playing their opening match in Group C, refused to lie down and Zlatko Junuzovic pulled one back in the 57th minute, turning in the ball in after Arnautovic forced his way to the byline and sent a low cross into the goalmouth.
Goals from Rasmus Elm and Marcus Berg gave Sweden a 2-0 win over Kazakhstan in their opening Group C World Cup qualifier.
The Kazakhs, who lost their opening Group C game at home to Ireland on Friday, tried to use stalling tactics to suppress the Swedes but only managed to hold out until the 37th minute.
Playing in his home town of Malmo, Sweden captain Zlatan Ibrahimovic drifted out to the right to pick up the ball and crossed to Mikael Lustig.
The defender mis-hit his shot but Rasmus Elm pounced on the rebound to volley home.
Ibrahimovic tormented the Kazakhs throughout the second half and he passed to Berg, who scored in the final minute of added time to put the game beyond reach
Winger Jeremain Lens, called into the team at the last minute after Arjen Robben injured his groin in the warm-up, struck twice to inspire Netherlands to a 4-1 rout of Hungary in World Cup qualifying Group D.
The Dutch, World Cup runners-up in 2010, have not lost to Hungary since 1984 and the visitors took the lead in the second minute when Luciano Narsingh's cross was headed in by Lens.
The home team equalised four minutes later with a penalty from Balazs Dzsudzsak but Netherlands went back in front in the 18th minute after Bruno Martens glanced in a header from a free kick by Wesley Sneijder.
It was the defender's first goal for his country on his third appearance.
A poor defensive header by Akos Elek led to the third Dutch goal, a lob from PSV Eindhoven winger Lens over keeper Adam Bogdan.
Substitute Klaas-Jan Huntelaar then completed the scoring with 17 minutes to go as the Dutch made it two wins from two qualifying matches.
Turkey cruised to a 3-0 victory over 10-man Estonia, securing their first points in Group D after an opening defeat by Netherlands.
Estonia defender Enar Jaager was sent off for a 19th-minute foul on Burak Yilmaz but the hosts could not capitalise until a minute before halftime when captain Emre Belozoglu scored from Arda Turan's pass.
Turkey, beaten 2-0 by the Dutch in Amsterdam on Friday, increased the pressure in the second half, creating several early chances.
Striker Umut Bulut headed home at the near post on the hour from Sercan Sararer's left-wing cross.
Substitute Selcuk Inan added a third goal 15 minutes from times.
Bosnia took another step towards reaching their first major tournament as an independent nation after brushing aside Latvia 4-1 in their Group G qualifier.
A fifth minute strike by Latvia's Kaspars Gorkss heaped early pressure on Bosnia but Zvjezdan Misimovic opened the floodgates for the hosts after he scored a 12th minute penalty.
Miralem Pjanic made it 2-1 to Bosnia after he pounced on Edin Dzeko's pass to score a minute before the halftime.
Misimovic was on target again in the 54th minute and Dzeko, who missed several opportunities, completed the rout in injury time.
Bosnia, on six points, top Group G on goal difference from 2004 European champions Greece after emphatic wins in their opening two qualifiers.
Greece maintained their winning start after goals from Sotiris Ninis and Kostas Mitroglou secured a 2-0 victory over Lithuania at the Georgios Karaiskakis stadium.
Greece went into the game on the back of an opening 2-1 win over Latvia in Riga on Friday although that result came at a price as Celtic striker Georgios Samaras suffered an injury to his left arm and was ruled out against Lithuania.
Santos opted to field Fanis Gekas as a lone striker on Tuesday with Ninis playing just behind him.
The move paid off as man of the match Ninis scored the first goal and laid on the second.
- Cesc Fabregas