The measure passed 46-1 after members of the Finance Committee reached a compromise giving restaurants, bars and taverns 2 1/2 years to comply with the law, the Chicago Sun-Times reported.
The anti-smoking ordinance takes effect Jan. 16.
"Chicago will be smoke-free," said Alderman Ed Smith. Supporters of the smoking ban stood in the council chamber applauding the vote.
The lone vote against the measure was cast by a North Side alderman who said suburbs permitted smoking in bars, and a tough anti-smoking law in Chicago would hurt local bars and businesses.
Smoking would be allowed in free-standing bars and taverns and within 15 feet of a restaurant bar until July 1, 2008. Establishments that installed air cleaning equipment that significantly improved air quality by venting smoke would be able to apply for an exemption to the smoking ban.