About 450 janitors voted by a show of hands Saturday to accept a deal that would increase wages 12 percent, to about $9.35 an hour.
Nearly 500 janitors went on strike July 10 for better wages and increased benefits. Their contract expired May 31.
Paloma Martinez of the Service Employees International Union Local 1 announced the results of the vote.
She said the deal was reached with Houston's major cleaning contractors but officials are still negotiating with one final contractor.
The SEIU represents about 3,200 Houston-area janitors and was among the unions representing those on strike.