The 4-to-1 vote came after nearly two hours of passionate debate.
Opponents of the legislation called it divisive and possibly illegal, while supporters contended that the growing population of illegal immigrants in the town has damaged the quality of life.
"We must draw the line, and we are doing it tonight," Mayor Lou Barletta told a packed city council chambers.
Barletta proposed the Illegal Immigration Relief Act last month as a response to what he said were Hazleton's problems with violent crime, crowded schools, hospital costs and the demand for services.
The ordinance would deny licenses to businesses that employ illegal immigrants, fine landlords $1,000 for each illegal immigrant discovered renting their properties, and require city documents to be in English only.
"The illegal citizens, I would recommend they leave," Barletta said after the meeting.
"What you see here tonight, really, is a city that wants to take back what America has given it," said the mayor, who said he wore a bulletproof vest to the meeting. He said he had not been threatened but took precautions because the issue was such an emotionally charged one.
"I think it's good for Hazleton, and I think it's good for the country," council president Joseph Yannuzzi said.
Outside City Hall, about 300 people gathered with opponents of the measure, some with signs that read "Bias," separated by a line of police from supporters, some waving American flags.
Anna Arias spoke at the council meeting against the ordinance. She asked the council, "Are any of us ready to support U.S. citizens born of someone who is undocumented?" Several people in the audience responded, "Yes!"
She warned the council that approving the ordinance would make Hazleton "the first Nazi city in the country."