Javier Aguirre's side headed into the contest on the back of two straight defeats in La Liga, but returned to winning ways thanks to Garcia's brilliant late strike in an otherwise pretty dour encounter at Estadi Cornella-El Prat.
The result lifted Espanyol to eighth in the standings and left Celta 16th, although Luis Enrique's men will count themselves unfortunate to have headed away from Barcelona empty-handed having more than held their own against largely negative opposition.
Neither team created any real openings in a cagey first half.
The hosts struggled to produce a dangerous final ball when in promising positions, while the closest the visitors came was an early header from Santi Mina which drifted wide.
Augusto Fernandez burst forward for Celta early in the second half only to see his shot diverted away for a corner.
Garcia seemed to be carrying the biggest threat for the hosts, drilling a right-footed effort just wide and seeing another attempt blocked by Jonny, while Luis Pizzi's shot was kept out by Celta goalkeeper Yoel.
Celta rarely looked uncomfortable but were not overly troubling Francisco Casilla, the Espanyol goalkeeper only really called upon to keep out an Alex Lopez drive nine minutes from time.
The game looked to be petering out into a draw, but then Garcia's eighth goal in La Liga this term changed all that.
He plucked a high ball out of the air, evaded the challenge of Gustavo Cabral and despatched an emphatic left-footed finish into the bottom-left corner.
There was barely enough time for Celta to regroup after the restart, meaning Espanyol picked up three valuable points.