The House passed the bill by a wide margin of 327-75 last month after a bipartisan group of lawmakers forced it to the floor, and President-elect Donald Trump recently threw his support behind it.
The rapid and resounding approval of the measure, which would cost nearly $196 billion over a decade, was notable at a time when Congress is in a protracted dispute over spending and debt, with Republicans promising huge cuts and members of both parties routinely lamenting the ballooning of the nation's debt.
The bill eliminates two provisions set up decades ago to shore up Social Security's solvency. Projections show the Social Security fund will run out of money in 2038 and, if no action is taken before then, beneficiaries would see a 27 percent cut in benefits. Passage of the measure speeds up that timeline by six months.
Twenty-seven Republicans joined Democrats in support.
The two provisions were designed to prevent what is known as "double dipping" on retirement benefits by certain public employees and their relatives.
It primarily affects two groups. One is public employees who receive pensions that are exempt from Social Security payroll taxes, but who also worked at least 10 years in jobs that required them to pay into the system. Such workers appear in the Social Security system as though they earned far less over their lifetimes than they actually did, and since the program pays out a higher proportion of low earners' incomes as benefits, they receive a larger retirement benefit than they otherwise would. Another is people who receive public pensions but also become eligible for Social Security survivor benefits upon the death of a spouse or family member.
Under the current law, both groups face a reduction in their benefits. The legislation on its way to enactment would allow them to receive the full amount.
"We have spent decades working to pass this legislation, and tonight is a victory for all the public servants who will finally get the Social Security they have earned," said Senator Sherrod Brown, an Ohio Democrat who was a lead co-sponsor of the bill. The bill marked Brown's final legislative achievement, after he lost a brutal and expensive reelection bid last month.
"Tonight, Congress ensured that police officers, firefighters, teachers, and public servants across Ohio will be able to retire with the Social Security they spent their lives paying into," he said.
Senator Susan Collins, a Maine Republican and a lead sponsor of the measure, framed the issue as a "long overdue" matter of fairness affecting teachers, firefighters, and police officers as well as some federal employees who were hired before 1984, when the federal pension system was brought under the Social Security system.
In a floor speech Wednesday, Collins cited one of her constituents, a retired female teacher who had to return to work at age 72 after her husband's death to make financial ends meet. The woman's husband was a Navy veteran who paid into Social Security for 40 years, but since she received a public pension from the school system, her surviving spousal benefits through Social Security were reduced by two-thirds.
"This is an unfair, inequitable penalty," Collins said. Public sector workers who are currently being penalized, she said, "have earned these benefits."
Public sector retirees and their allies on Capitol Hill in both parties have pressed for the measure for decades. It has sailed through Congress over the last several weeks, bypassing the usual committee process after proponents in the House collected 218 signatures on a so-called "discharge petition" to force it to the floor. Senate leaders also skipped committee consideration.
But it faced vocal pushback in the Senate from fiscal conservatives. Several senators, mostly Republicans, warned that the bill could set off a chain reaction of unintended consequences by eliminating the two provisions.
"We all agree the status quo is unfair, and it penalizes millions of hardworking Americans," said Senator Joe Manchin of West Virginia, an independent who railed against the federal debt. "But we also have an obligation to honor our promises to ensure that Social Security is going to be there for the people who have paid into it and have earned it, and also those generations who come after."
Senator Thom Tillis, Republican of North Carolina, argued that a bill affecting the financial integrity of Social Security was too important to rush through at the end of the year without debate. The nearly $200 billion setback for the trust fund, he argued, would only make it more difficult to fix the longer-term issue of Social Security's solvency.
"There's so much riding on us getting this right and having the courage to fix Social Security over the next few years," he said.
Other Republicans said the legislation righted a wrong that should have been addressed a long time ago.