The legislation, forecast to save Illinois taxpayers $160 billion over 30 years, was approved in the Senate on a 30-24 vote, with three senators not voting, and passed the House 62-63, with three members abstaining or not voting, Crain's Chicago Business reported.
Backers say the measure will erase a $100 billion pension shortfall by either reducing or eliminating cost-of-living increases, raising the age of retirement for public employees and establishing a 401(k) option for a some workers, the Chicago Tribune said.
"Springfield politicians today voted to slap a small bandage on an open wound," Republican gubernatorial hopeful Bruce Rauner said in a statement after the votes. "While it may help them temporarily feel better, it does little to fix the real problems facing Illinois."
Quinn called the passage a victory.
"The people of Illinois have won. This landmark legislation is a bipartisan solution that squarely addresses the most difficult fiscal issue Illinois ever has confronted," he said.
Sen. Kirk Dillard, another GOP candidate for governor, said he voted no because, "I don't believe this bill can survive a court challenge."
A coalition of labor organizations said in a statement it would challenge the bill in court if Quinn signs it.
"Teachers, caregivers, police, and others stand to lose huge portions of their life savings because politicians chose to threaten their retirement security," the statement said.