WASHINGTON—The House passed a $19.1 billion disaster-aid package with a bipartisan majority, sending the legislation to the president’s desk after months of wrangling delayed the typically uncontroversial funding.

Lawmakers voted 354-58 to approve the measure, exceeding the two-thirds threshold required under a fast-track procedure. Those who opposed the measure were all Republicans.

The...