The vote 61-54 vote sends the measure back to the Senate for minor changes to a version it approved on Valentine's Day. Gov. Pat Quinn says he'll sign it.
Fourteen states plus Washington D.C., allow same-sex marriage. Most recently, New Jersey, Minnesota and Rhode Island have allowed it.
The historic vote in Illinois came after months of arduous lobbying by gay-rights advocates, but the bill was never called for a House vote earlier this year because the sponsor said there weren't enough votes. Proponents say momentum had been building, especially as the U.S. Supreme Court struck down a provision of the federal Defense of Marriage Act.
Opponents say marriage should remain between a man and woman.