The dome of the US Capitol on September 17.

It’s no secret at this point that congressional Republicans are loathe to vote against President Donald Trump. Fealty to Trump has become the animating principle in the party – so much so that GOP lawmakers have willfully relegated themselves to second-class citizens in Washington as they’ve steadily ceded their powers and prerogatives to Trump.

But all of that makes it even more striking when they decide to actually stand up for themselves, for once.

And it’s now happened twice just this week.

Enough Senate Republicans voted against Trump’s tariffs on Brazil and Canada so that a majority of the chamber has now expressed its opposition to both. They did so even after the White House mobilized Vice President JD Vance to try to prevent the rebukes.

So when have Republicans in Congress actually been willing to vote against Trump? It’s most often happened with foreign policy.

Let’s run through the big examples.

The tariffs

These were not large-scale GOP defections, but they were large enough that they enabled the GOP-controlled chamber to rebuke the president.

Earlier this year, four GOP senators – Mitch McConnell and Rand Paul of Kentucky, Susan Collins of Maine and Lisa Murkowski of Alaska – voted to terminate Trump’s national emergency declaration to impose tariffs on Canada. That meant the measure passed with 51 votes.

On Tuesday, Sen. Thom Tillis of North Carolina joined them to make it five Republicans voting against Trump’s tariffs on Brazil. The overall vote was 52-48, against Trump.

(Tillis has raised concerns about Trump’s tariffs before. He said he voted against the Brazil tariffs, specifically, because they appeared to be related to Brazil’s prosecution of Trump-allied former President Jair Bolsonaro rather than actual trade disputes.)

Then on Wednesday, the same four GOP senators voted against the Canada tariffs again.

It’s highly unlikely the House will ever vote on terminating these tariffs. In fact, the GOP-controlled House actually took action earlier this year to prevent such votes. And these senators could go much further if they wanted to in trying to force the issue.

But it’s significant that a majority of the GOP-controlled Senate is rebuking Trump on his tariffs, and it certainly undercuts his supposed mandate on the issue.

2017: The Russia sanctions

This was perhaps the first big congressional rebuke of Trump.

During the early portions of the Russia investigation, Congress passed new sanctions against Russia that the Trump White House explicitly opposed. The legislation also gave Congress additional powers to block Trump from easing existing Russia sanctions.

The measure passed almost unanimously in both GOP-controlled chambers – 98-2 in the Senate and 419-3 in the House.

Trump ultimately signed the legislation – likely knowing Congress could simply override his veto – while claiming it contained “a number of clearly unconstitutional provisions.”

2018: Ending US involvement in Yemen

The Senate voted 56-41 in late 2018 to end US support for the Saudi Arabia-led war in Yemen. The move came shortly after Trump signaled a solid relationship with the Saudis despite their murder of journalist Jamal Khashoggi.

Seven Senate Republicans voted in favor.

2019: No NATO withdrawal

With Trump occasionally flirting with a withdrawal from the North Atlantic Treaty Organization (NATO) in his first term, the Democratic-controlled House in early 2019 passed legislation to make that more difficult.

It voted 357-22 to prohibit funds from being used to withdraw from the alliance.

2019: The Syria rebukes

Few Trump moves have alienated congressional Republicans likes the ones he made in Syria in 2019. And they led to separate rebukes in both the Senate and the House.

After Trump moved to pull troops from Syria and Afghanistan, the GOP-controlled Senate passed nonbinding amendments expressing its opposition. One amendment stated that the move “could allow terrorists to regroup, destabilize critical regions, and create vacuums that could be filled by Iran or Russia to the detriment of United States interests and our allies.”

It passed 68-23. A similar amendment later passed 70-26, with 43 Senate Republicans voting in favor.

Sen. John Thune of South Dakota, then the second-ranking Senate Republican, said lawmakers felt the need to vote that way after the White House disregarded their privately expressed concerns.

Later in the year, Trump’s controversial decision to withdraw from northeast Syria led many Republicans to rebuke him for effectively allowing Turkey to slaughter US-allied Kurdish forces there.

The Democrat-led House voted 354-60 for a resolution stating that the withdrawal was “beneficial to adversaries of the United States government, including Syria, Iran, and Russia.”

House Republicans voted for it more than 2-to-1, with 129 votes in favor and 60 against.

2019: Other Middle East rebukes

Congress also rebuked Trump’s posture on other Middle East issues, including arms sales to Saudi Arabia.

That legislation passed in both chambers with the support of 16 House Republicans and seven Senate Republicans, before Trump ultimately vetoed it.

Trump’s Jan. 6 impeachment

It seems like a long time ago now, and the votes came at a time when many Republicans probably thought Trump’s political career was over.

But the votes to impeach and convict Trump after January 6, 2021, remain some of the most historic bipartisan rebukes of a president ever.

The 10 House Republicans who voted to impeach made that the most bipartisan impeachment vote ever. And the seven Senate Republicans who voted to convict was by far the most members of a president’s party to ever vote that way.