Donald Trump had threatened to use his veto for his planned wall on the border with Mexico. (FILE)

The U.S. House of Representatives approved a $733 billion defense policy bill on Friday, defying President Donald Trump's veto threat by including provisions like a clampdown on funding for his planned wall on the border with Mexico.

The House passed its version of the 2020 National Defense Authorization Act, or NDAA, by a 220 to 197 vote without a single Republican voting in favor of the bill and after some of the most liberal Democrats opposed it as they pushed for a reduction in defense spending.

Republican voting against the bill sets the stage for a stiff fight over its provisions later this year that could threaten Congress' record of passing the NDAA annually for nearly six decades.

The version of the bill passed by the Democratic-controlled House has several provisions that angered Republican Trump, including providing $17 billion less for the military than he wanted and denying funds he wants to fulfill his campaign promise to build a wall on the border with Mexico.

Because it is one the few pieces of major legislation Congress passes every year, the NDAA becomes a vehicle for a broad range of policy measures as well as setting everything from military pay levels to which ships or aircraft will be modernized, purchased or discontinued.

The NDAA is still several steps from becoming law. In the months to come, lawmakers must come up with a compromise version between the one passed by the House and the one passed last month in the Senate, where Trump's fellow Republicans hold power.

There are some key differences between the two bills. The Senate's provides $750 billion for the Pentagon and does not include several provisions designed to limit Trump's power to shift military funds for use building the wall or to deploy troops to work on the border.

The House bill also includes an amendment that would bar Trump from attacking Iran without first obtaining Congress' approval. That amendment was considered a key to winning enough support from the most liberal Democrats for the NDAA to pass the House.

The compromise bill must then be signed into law by Trump.

The House bill also prohibits the U.S. military from deploying low-yield nuclear weapons. It also allows U.S. detainees at a military base in Guantanamo Bay to be moved to the United States, something Republicans have said represents a back-door effort to force the Administration to close the controversial detention facility.