Many Democrats are at odds with their own leadership over extending domestic surveillance.
Congress is on the verge of ending a year-long struggle with the White House over a contentious intelligence surveillance bill.
In one of the toughest votes of the 110th Congress, the House on Friday backed a compromise that expands the government's capacity to eavesdrop without a warrant. The Senate this week is expected to do the same.
Most House Democrats did not back the compromise. But in a break with previous statements, their leaders did.
"So again, a difficult decision for all of us," said Speaker Nancy Pelosi in a floor statement before the vote. "If not good enough for some," the bill is "certainly preferable to the alternative that we have, which is the Senate bill, which must be rejected," she said.
At issue between the Senate and House versions is whether to grant legal immunity to telecommunication companies for their role in the secret surveillance program after the 9/11 attacks – a key White House demand. The Senate version of the bill includes immunity for telecoms.
Under the terms of the House bill, a federal district court will decide whether immunity is granted. Only companies, not government officials, could be shielded.
"The issue really was whether we would have a compromise that would involve the court in determining whether or not the telecom companies had received justification ... or simply a bill that gave them immunity," said House majority leader Steny Hoyer (D) of Maryland after Friday's vote.
The bill would protect companies that can show they had received assurances from the executive branch that the program was legal and authorized by the president.
Page 1 of 4