WASHINGTON - The House on Thursday overwhelmingly passed a $633 billion defense bill for next year despite Pentagon complaints that it spares outdated but politically popular weapons at the expense of the military's ability to fight.

The vote was 315-107 and sent the legislation to the Senate, where leaders hoped to wrap up the measure. The White House had threatened a veto of earlier versions, and spokesman Jay Carney said the threat still stood.

The bill that covers the cost of ships, aircraft, weapons, and military personnel would authorize $528 billion for the Defense Department's base budget, $17 billion for defense and nuclear programs in the Energy Department, and $88.5 billion for the war in Afghanistan.

The bill is $1.7 billion more than Obama requested.

House Republicans and Democrats debated the measure against the backdrop of high-stakes talks to avoid the so-called fiscal cliff of automatic tax increases and spending cuts and the loud cry for a sweeping deal to slash the deficit.

Democrats argued that the bill ran counter to demands for fiscal discipline.

"This bill is more money than the Pentagon wants," said Rep. Jim McGovern (D., Mass.). "We're just throwing money at them."

Specifically, the bill spares a version of the Global Hawk unmanned aircraft, includes upgrades for tanks, and money for armored vehicles.

In a speech this week, Defense Secretary Leon E. Panetta criticized pressure on the Pentagon to keep weapons it doesn't want.

Negotiators kept a Senate-passed provision sponsored by Sen. Jeanne Shaheen (D., N.H.) that expands health insurance coverage for military women and their dependents who decide to have abortions in cases of rape and incest. Previously, health coverage applied only to abortions in cases where the life of the mother was endangered.

Negotiators jettisoned a House provision that would have banned gay marriage on military sites. The bill does include a conscience clause for chaplains.

The measure includes a 1.7 percent pay raise for military personnel.