Mirroring a Senate vote on the bill last July, all 39 Republicans who voted stopped Democrats from bringing the campaign disclosure bill to the Senate floor. The 59-39 vote fell one short of the 60 needed to advance the legislation. Two Republicans didn't vote.
Republicans dismissed Democratic efforts to revive the bill as an attempt to win political points before the midterm elections.
The White House-backed measure is a response to a 5-4 Supreme Court decision last January overturning a decades-old law that barred corporations, unions and other organizations from spending on advertising, mass mailings and other forms of political activity.
Democrats warned that the ruling would lead to a deluge of ads from shadowy special interest groups financed by corporate millions.
"It's no longer a premonition, it's a reality," said Sen. Charles Schumer, D-N.Y., a main sponsor of the legislation, pointing to special interest ads already running in states such as Ohio and California with hotly contested political races.
"We have these nameless, faceless individuals spending huge amounts of money, corporate money and other money. There is certainly no transparency whatsoever," Democratic Majority Leader Harry Reid, D-Nev., said.
President Barack Obama said in a statement that he was "deeply disappointed by the unanimous Republican blockade." He said the vote was 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."
But Senate Republican leader Mitch McConnell, R-Ky., said Democrats were playing "pure politics" in trying to stop opponents from criticizing Democratic policies. "They're trying to rig the system to their advantage. That's it. It's quite simple."
Schumer said Democrats were prepared to move the effective date of the bill to next January so it would not influence the November elections, but that offer failed to win any Republican support.
Republicans also accused Democrats of playing pre-election politics earlier this week when they united to block action on a defense policy bill that would have allowed votes on opening a path to legal status for the children of illegal immigrants and on ending the military's don't ask-don't tell policy for gays.
The campaign finance bill, which narrowly passed the House on a largely partisan vote, would have required nearly all organizations airing political ads independently of candidates or the political parties to disclose their top donors and the amounts they paid.
It would have banned a variety of political activity by entities holding a government contract worth more than $10 million and corporations where foreigners own more than a majority of voting shares.
The rejection of the disclosure bill came as the the House Administration Committee approved legislation that would make candidates for federal office eligible for public funding if they rely solely on private contributions of $100 or less. Sponsors of the bill that passed in committee, led by Reps. John Larson, D-Conn., and Walter Jones, R-N.C., said it would reduce the role of special interest money in campaigns.