Washington (CNN) -- The GOP-controlled House of Representatives on Friday passed a nearly $643 billion defense bill -- a measure at odds with prior military spending agreements and President Barack Obama's Pentagon plans.
The measure passed in a 299-120 vote. An overwhelming majority of Republicans backed the measure, while the bulk of Democrats opposed it.
The fiscal year 2013 National Defense Authorization Act, which includes $88.5 billion for the war in Afghanistan, faces an uncertain future in the Democratic-led Senate. It exceeds the cap set for defense programs in last year's budget deal by several billion dollars.
Among other things, the measure would prohibit the transfer of prisoners at the military base in Guantanamo Bay, Cuba, to the United States or other countries. It would also bar same-sex marriage ceremonies on U.S. military bases and would require the installation of an East Coast missile defense system to help counter perceived threats from countries such as Iran and North Korea.
The bill also includes new funding -- opposed by Defense Secretary Leon Panetta -- for certain tank upgrades, additional submarines, long-range bomber development and Air Force drones.
Under the terms of a deficit reduction deal reached last year by administration and congressional leaders, defense spending is set to be cut by roughly $450 billion over the next decade. The Pentagon could also be on the hook for about half of $1.2 trillion in additional savings over the next 10 years if Congress fails to come up with an alternative deficit reduction plan.
GOP leaders, while pressing for overall spending reductions, vehemently oppose the bulk of the defense cuts. Presumptive Republican presidential nominee Mitt Romney is pushing for a significant defense spending increase, including an expansion of the Navy, arguing that such a move is critical for national security.
House Republicans passed legislation this month that would swap looming Pentagon spending cuts with a host of domestic program reductions opposed by congressional Democrats. That measure, however, has no chance of clearing the Senate.
Funding for the war in Afghanistan has proved to be another sticking point in the defense spending debate. House GOP leaders prevented a vote Thursday on a bipartisan amendment requiring the Obama administration to stick firmly to its 2014 withdrawal timetable.
Top Republicans were concerned the amendment would pass, according to two GOP congressional sources. Instead, House leaders only allowed a vote on a Democratic-sponsored amendment designed to end the war more quickly by limiting funding to the "safe and orderly withdrawal" of U.S. troops.
The amendment, as expected, was rejected.
CNN's Deirdre Walsh contributed to this report.