The U.S. Senate backed legislation on Thursday to limit President Donald Trump's ability to wage war against Iran, rebuking him after a strike against an Iranian military commander and Tehran's retaliation last month raised fears of broader regional conflict.

Eight of Trump's fellow Republicans joined Democrats to pass the war powers resolution by 55-45. The measure would require Trump to remove U.S. troops engaged in hostilities against Iran unless Congress declares war or passes a specific authorization for the use of military force.

Trump has promised a veto and there is not expected to be enough support in the Senate to muster the two-thirds majority to override. Republicans in the chamber hold 53 of the 100 seats and rarely vote against the president.

Opponents said the resolution's passage would send the wrong message to Tehran.

"We need to send a message of firmness, and not weakness," said Senator Jim Risch, the Republican chairman of the Senate Foreign Relations Committee.

Democratic Senator Tim Kaine, a lead sponsor of the resolution, disputed that. He said the vote showed strength and reflected the importance of Congress weighing in on the decision to deploy U.S. troops.

"If we're to order our young men and women in uniform to risk their lives and health in war, it should be on the basis of careful deliberation," he said.

The Democratic-controlled House of Representatives passed a similar resolution last month, but there are enough differences between the Senate's version and the House's that it must pass that chamber again before it can be sent to Trump's desk.