The House approved a bill Friday that would provide $642.5 billion in defense spending for the next fiscal year, despite a veto threat from the White House, which objected to a series of provisions that would limit the president’s authority and challenge administration policies.

The bill, which passed by a vote of 299 to 120, would authorize spending $3.7 billion above the amount sought by President Obama and $8 billion above the level agreed to by Republicans and Democrats in August as part of their budget deal.

House Republicans argued that they had identified non-defense spending to offset the increases and that they were careful not to provide more money than they thought the Pentagon needed.

“In an era of austerity, it is critical that we carefully allocate every penny that goes to the Defense Department,” said Rep. Howard P. “Buck” McKeon (R-Calif.), chairman of the House Armed Services Committee.

The debate marked the start of what will almost surely be a protracted fight over defense spending through the end of the year. The bill passed by the House provides $554 billion for core Defense Department activities in fiscal 2013 and an additional $88.5 billion for overseas activities, including in Afghanistan and Iraq.

Among other measures, the bill would provide money to build additional Navy ships and block the Defense Department’s plans to retire aircraft. It would limit health-fee increases for retired service personnel and their families. And it would slow down the reduction of military personnel that was part of the Pentagon’s plan to meet last year’s bipartisan agreement to cut $487 billion in defense spending over the next 10 years.

It would provide a 1.6 percent pay increase and add benefits and support programs for troops and their families that were requested by the administration.

While the White House expressed concerns with the overall increase in spending, it also made clear that it was opposed to a series of provisions in the bill.

One section of the bill that drew a specific veto threat would limit the president’s ability to retire, dismantle or eliminate non-deployed nuclear weapons. Other elements cited by the White House would restrict the transfer of detainees at Guantanamo Bay to the United States or foreign countries and prevent those transferred to Micronesia from traveling to the United States.

Another element would permit indefinite detention without trial of terrorism suspects, including American citizens, captured on U.S. soil.

Rep. Adam Smith (Wash.), the ranking Democrat on the Armed Services Committee, who had offered a substitute proposal, said after his amendment was defeated: “To give the president the power to take away a person’s freedom and lock them up, potentially simply based on allegations, without due process, and without the civil liberties protected by our Constitution, is an extraordinary step.”

The House measure would also ban same-sex marriages on military bases and force the president to approve the controversial sale of F-16 jet fighters to Taiwan.

In debating the bill for two days, the House dealt with about 140 amendments. The Senate Armed Services Committee will begin marking up its version of the bill next week, but it is unclear when it will reach the Senate floor.

The Senate is expected to approve a measure providing the Pentagon with less than the House bill, leaving it up to a House-Senate conference to work out the differences before sending the bill to the president.