The breakthrough is the work of a cross-party group of senators who have been hammering out the details and resolving disputes for weeks.
The lawmakers had been scrambling to finish the negotiations quickly enough to capitalise on the momentum generated by the fatal shooting of 19 children in Uvalde, Texas and of 10 Black people at a supermarket in Buffalo, upstate New York, both last month.
Chris Murphy, the senator leading negotiations for Democrats, hailed a “historic day”.
“This will become the most significant piece of anti-gun-violence legislation Congress has passed in three decades,” he said on the Senate floor.
“This bill also has the chance to prove to the weary American public that democracy is not so broken, that it is able to rise to the moment.”
The last significant federal gun control legislation was passed in 1994, introducing a national background check system and banning the manufacture for civilian use of assault rifles and large-capacity ammunition clips.
But it expired a decade later and there has since been no serious movement on reform, despite rising gun violence.
Biden had pushed for more substantial reforms, including a reinstatement of the ban on assault rifles – which were used in both the Texas and New York shootings – and high-capacity magazines.
But the political challenge of legislating in a 50-50 Senate, where most bills require 60 votes to pass, means that more wide-ranging reforms are unrealistic.
“The morning after the tragedy in Uvalde, the United States Senate faced a choice,” Schumer added.
“We could surrender to gridlock … Or we could choose to try and forge a bipartisan path forward to pass a real bill, as difficult as that may have seemed to many.”
The vote came as a boon for gun safety activists hours after they were dismayed by a Supreme Court ruling that Americans have a fundamental right to carry a handgun in public.
The 6-3 decision struck down a more than century-old New York law that required a person to prove they had a legitimate self-defence need to receive a permit to carry a concealed handgun outside the home.