Andrea Stramaccioni's side edged the contest and showed the greater attacking intent throughout, with Diego Milito going close on more than one occasion in the first-half.
The game remained goalless, though, until the 74th minute when Garcia turned Andrea Ranocchia's low cross past his own goalkeeper and handed the hosts a valuable three points.
The Nerazzurri started the brighter of the two sides at San Siro and could have been ahead after just three minutes when Rodrigo Palacio headed straight into the hands of Samir Ujkani after being picked out by captain Javier Zanetti.
Four minutes later and Palermo striker Paulo Dybala, deputising for the suspended Fabrizio Miccoli, saw his effort blocked well by Ranocchia after working an opening on the left.
The home side looked threatening going forward in the opening exchanges, with Milito, who had not netted since the 3-1 win over Juventus last month prior to the encounter, seeing a goalbound effort blocked by Eros Pissano.
At the other end, Dybala was causing all sorts of problems but could not direct his header on target after being picked out by Michel Morganella.
The best chance of the half came on the 30 minute mark as Milito held off the challenge of Steve von Bergen, before curling an effort wide of the far post.
Esteban Cambiasso then fired a volley straight at Ujkani after Alvaro Pereira’s corner was headed straight into his path by the Palermo defence.
Ilicic fired just wide in the last 10 minutes of the half, before Edgar Barreto tried his luck from distance. Samir Handanovic got down well to block the effort and was lucky his defenders could hack away to safety.
Inter ended the half strongly with two more chances falling to Milito. The Argentine headed over from a Zanetti cross before a poor Palacio header fell to the feet of the Nerazzurri striker, only for him to fire his effort to be deflected wide for a corner.
The hosts continued to look the more likely side of breaking the deadlock early in the second-half and could have taken the lead through Philippe Coutinho, but he fired high and wide after some good link up play with Milito.
Andrea Stramaccioni sent Freddy Guarin into the action just after the hour mark at the expense of Milito and the midfielder came close to making an instant impact, bursting down the right before firing a low cross towards Palacio, only for Ujkani to get down quickly and palm away to safety.
Dybala had looked threatening for the visitors all afternoon and nearly took advantage of some sloppy defensive play from Walter Gargano. He cut in from the right but his left footed strike was always rising and posed no threat to Handanovic’s goal.
The deadlock was finally broken with a little over 15 minutes to go as Ranocchia fired in a low cross and saw Garcia inadvertently turn past Ujkani to make it 1-0 to the hosts.
Palermo rarely threatened in the final quarter of an hour as Inter held on for their first win in four Serie A games, to close the gap on league leaders Juventus to four points.