The Stop Trading on Congressional Knowledge (STOCK) Act, which was approved earlier by the House, passed 96-3.
President Barack Obama said in a written statement he was ready to sign the measure.
"After I sign this bill into law, members of Congress will not be able to trade stocks based on non-public information they gleaned on Capitol Hill," he said.
The bill was aimed at lawmakers, staff members and lobbyists who are privy to sensitive information about pending regulatory and spending legislation that could provide a windfall to investors who hear about it before the public. The situation was the subject of a recent expose on CBS' "60 Minutes."
Although the STOCK Act enjoyed bipartisan support, the measure did not exactly sail through Congress. The Hill said the bill the Senate passed Thursday did not include an amendment that would require so-called political intelligence operatives to file regular report on their activities in the halls of the Capitol.
The amendment by Sen. Charles Grassley, R-Iowa, had passed an earlier Senate version but was knocked out by the House.