The Earthquakes (3-5-2, 11 points) -- who opened their season with four straight losses but have turned things around with just one loss in their past six matches -- were forced to play most of the second half with 10 men after Cristian Espinoza received his second yellow card and was ejected in the 51st minute.
Even with the man advantage, FC Cincinnati (2-7-2, eight points) suffered their fifth consecutive defeat, during which they have failed to score a goal.
Lima, a 24-year-old defender, scored his first goal of the season and the fifth of his MLS career in the 22nd minute.
Following a San Jose corner kick, Espinoza dropped a pass for an onrushing Lima, whose low, 25-yard blast made its way through a maze of players out front and slipped just inside the left post. FC Cincinnati goalkeeper Przemyslaw Tyton made a sprawling attempt but was unable to get a hand on the perfectly placed shot.
The teams both had 11 shots, but the only one the Earthquakes put on goal was Lima's blast.
Vega made three saves, including flicking a header from FC Cincinnati's Fatai Alashe over the crossbar in the 75th minute. The Earthquakes extended their unbeaten run to four matches, with two wins and two draws, and won their third straight home match.
Alashe had two of FC Cincinnati's three shots on goal, with Darren Mattocks getting the other.
San Jose's Chris Wondolowski, who remains one goal behind Landon Donovan on the MLS career scoring list, entered as a substitute in the 90th minute but failed to tally.
Referee Dave Gantar issued seven yellow cards, including the two to Espinoza.
Nick Lima gives San Jose the early lead
Major League Soccer: Nick Lima (22') San Jose Earthquakes 1-0 FC Cincinnati