The bill passed with a 112-28 vote.
"They said it couldn't be done," Mayor Sylvester Turner said in a release. "But in Houston, we always get it done."
Turner initially warned that as many as 2,200 municipal workers could be laid off if state lawmakers did not approve the city's pension plan.
The city's plan pays off $8.1 billion in unfunded liabilities for pensions without raising taxes, according to Turner's office.
RELATED: Turner warns of massive layoffs if city pension plan fails to pass
With the amended plan, firefighters will be able to retain more of their benefits.
"This bill is the product of negotiation and shared sacrifice," Turner added. "It has the support of Houston police, Houston municipal employees, the Greater Houston Partnership and Houston City Council. It allows us to keep our promise to first responders, city employees and taxpayers."
The plan will go back to the House for a third reading, then to a conference committee to iron out final details, and back to both chambers for a final vote.
Report a typo to the ABC13 staff