Democratic Sen. Barbara Mikulski of Maryland became the crucial 34th vote in favor of the agreement.

"No deal is perfect, especially one negotiated with the Iranian regime," Mikulski said in a statement. She called the accord "the best option available to block Iran from having a nuclear bomb. For these reasons, I will vote in favor of this deal."

The backing from Mikulski, who is retiring next year, gives supporters the margin they need to uphold an Obama veto of a congressional resolution of disapproval if Republicans pass such a measure later this month.

And it spells failure for opponents of the international agreement who sought to foil it by turning Congress against it. Leading that effort were Israel and its allies in the U.S., who failed to get traction after spending millions of dollars trying.

The agreement signed by Iran, the U.S. and five other world powers limits Iran's nuclear program in exchange for hundreds of billions of dollars in relief from international sanctions. Republicans and Israeli officials contend that concessions made to Iran could enable the country to wreak havoc throughout the Middle East.

Prime Minister Benjamin Netanyahu, who had personally lobbied U.S. lawmakers to block the nuclear pact, will continue fighting the agreement, an Israeli official said.

Marshall Wittmann, spokesman for the pro-Israel lobby AIPAC, said his group also would continue rallying opposition to the nuclear agreement.

In a letter delivered to Congress Wednesday, Secretary of State John Kerry called Israel's security "sacrosanct," recounting the billions of dollars the U.S. has provided the Jewish state for missile defense and other security assistance. U.S. and Israeli officials, he said, are working on a deal to "cement for the next decade our unprecedented levels of military assistance."

The letter was sent as Kerry defended the Iran deal in Philadelphia. His speech was carried live in Iran, an unusual occurrence.

"Rejecting this agreement would not be sending a signal of resolve to Iran, it would be broadcasting a message so puzzling that most people across the globe would find it impossible to comprehend," Kerry told lawmakers and civil leaders at the National Constitution Center.

"It's hard to conceive of a quicker or more self-destructive blow to our nation's credibility and leadership - not only with respect to this one issue, but across the board, economically, politically, militarily, even morally. We would pay an immeasurable price for this unilateral reversal," Kerry argued.

He said the Obama administration would ensure that America's Arab allies, like Israel, would have the "political and military support they need" to protect themselves from the threat posed by Iran.

With opposition to the agreement failing to take hold on the Democratic side, supporters may be able to muster the 41 votes needed to block the disapproval resolution from passing in the first place, sparing Obama from having to use his veto pen. That would require seven of the 10 remaining undeclared senators to decide in favor of the deal.

Only two Democratic senators have come out against - Chuck Schumer of New York and Robert Menendez of New Jersey. And in recent weeks undeclared Democratic senators, even from Republican-leaning states, have broken in favor one after another.

Even if Congress passes the disapproval resolution, it can't stop the deal reached by Iran, the United States, Britain, France, Germany, Russia and China. It might help congressionally mandated sanctions remain in place. But the U.N. Security Council endorsed the nuclear deal unanimously in July and outlined how it would lift international sanctions on Iran.

Senate Majority Leader Mitch McConnell, R-Ky., acknowledged Obama "may be able to sustain a veto with the tepid, restricted and partisan support." But he said the Senate would move ahead next week with a "serious" debate and that Congress' bipartisan support would be needed to "strengthen our defenses in the Persian Gulf and to stand up to the inevitable Iranian violations of the agreement."

Sen. Marco Rubio, a Republican presidential candidate, vowed to re-impose all sanctions on Iran on Day 1 if he becomes commander-in-chief. "Then I will go to Congress and ask them to even increase those sanctions more, and I will back that up with a credible threat of military force," he said.