Elsewhere, Harry Kane lifted England to a stodgy victory in Albania and Denmark made a double statement as they protested the treatment of migrant workers in Qatar before putting eight goals past Moldova.
Spain, who had been held to an embarrassing home draw by Greece in their opening game in Group B, fell behind to a goal by Khvicha Kvaratskhelia just before half-time and it took a goal in added time by Olmo to give them victory.
Ferran Torres of Manchester City levelled in the 56th minute with his fifth goal from just six starts for his country.
Spain’s second-half pressure finally paid off in injury time.
Olmo’s rasping strike from 25 metres flew into the top corner and silenced the sizeable crowd inside Tbilisi’s Boris Paichadze stadium.
In Copenhagen, Denmark cemented their grip on first place in Group F by thrashing Moldova 8-0, with Kasper Dolberg with Mikkel Damsgaard both scoring twice.
The routine victory was preceded by the Danish team joining other European national sides in a growing movement protesting the treatment of migrant workers in Qatar, host of the 2022 World Cup.
Danish players wore jerseys with the slogan “Football supports CHANGE” as they lined up for a photograph before the game.
The Danish Football Union said the shirts would be put up for sale and the money given to migrant workers in the Gulf state.
In Tirana, Kane ended his six-game England goal drought as he inspired a 2-0 win in Albania in Group I.
Gareth Southgate’s side struggled to break down the well-organised underdogs until the Tottenham striker netted late in the first half.
It was the England captain’s first international goal since he scored against Kosovo 500 days ago in November 2019.
He set up England’s second for Mason Mount in the second period.
In the early game, Ousmane Dembele scored the opening goal as holders France won 2-0 in Kazakhstan to claim their first victory in Group D after drawing at home to Ukraine in their opener.
Sergei Maliy put through his own net for France’s second goal before half-time but Kylian Mbappe had a second-half penalty saved after coming off the bench.
“We said beforehand that it was all about getting the job done and it’s a positive result against a team who never gave up,” Paul Pogba, who returned to the starting line-up, told broadcaster TF1.
“People might have thought Kazakhstan would let us score five goals but no, they played well. We had chances to score more goals but their goalkeeper played well. We got the result and we can be happy.”
France coach Didier Deschamps made nine changes to his line-up following the Ukraine draw for the match in Nur-Sultan, more than 5,000 kilometres east of Paris in Central Asia.
Among the later matches on Sunday, Italy face Bulgaria in Sofia, Sweden play in Kosovo, Germany take on Romania in Bucharest and Robert Lewandowski and Poland host Andorra.