WASHINGTON — The House on Thursday passed a Senate humanitarian aid package without any of the House’s strict protections for migrant children in overcrowded border shelters after Speaker Nancy Pelosi capitulated to Republicans and Democratic moderates in a striking defeat.

The vote came after a startling display of Democratic disarray and was an unusual setback for Ms. Pelosi, who has been adept at navigating the political complexities of a caucus split by powerful progressive and moderate factions that often work at cross purposes. On Thursday, their priorities clashed in spectacular fashion, and the speaker — who had put her reputation on the line, calling herself a “lioness” out to protect children as she held out for stronger safeguards in migrant facilities that house them — had to accept defeat.

The final vote, 305 to 102, included far more Republicans in favor, 176, than Democrats, 129.

“In order to get resources to the children fastest, we will reluctantly pass the Senate bill,” Ms. Pelosi said in a letter to Democratic lawmakers. “As we pass the Senate bill, we will do so with a battle cry as to how we go forward to protect children in a way that truly honors their dignity and worth.”

Her retreat came after Vice President Mike Pence gave Ms. Pelosi private assurances that the administration would voluntarily abide by some of the restrictions and rules that she had sought, including notifying lawmakers within 24 hours after the death of a migrant child in government custody, and placing a 90-day time limit on children spending time in temporary intake facilities, according to a person familiar with the discussions.