The 59-39 vote was one short of what was needed to advance the so-called Disclose Act, which was crafted in response to the U.S. Supreme Court ruling lifting restrictions on corporate and union political spending.
"I am deeply disappointed by the unanimous Republican blockade in the Senate of the Disclose Act, a critical piece of legislation that would control the flood of special interest money into our elections," President Barack Obama said from New York where he addressed the U.N. General Assembly.
"Today's decision by a partisan minority to block this legislation is a victory for special interests and U.S. corporations -- including foreign-controlled ones -- who are now allowed to spend unlimited money to fill our airwaves, mailboxes and phone lines right up until Election Day."
The measure would require full disclosure of who is behind campaign ads, requiring heads of companies and special interest groups to appear on camera. It also would broaden restrictions on foreign-controlled companies.
The measure is a "cynical, partisan bill designed to silence the free speech of Congress's critics and to protect Democrat incumbents," The Washington Post quoted Sen. John Cornyn, R-Texas, as saying.
Obama countered the public has a right to know who is trying to influence an election.
It was the second time a Republican filibuster blocked the measure; the last vote was in July. The House passed a similar bill in June.