Senate Democrats blocked DHS funding in February as they pressed to rein in the Trump administration's immigration crackdown after federal agents shot and killed two US citizens in Minneapolis.
The funding shortfall has left tens of thousands of Transportation Security Administration employees working without pay, prompting some airport security officers to call in sick or resign.
As the stand-off in Congress persisted, President Donald Trump said on Thursday he would take executive action to pay 50,000 airport security workers in an effort to address staff shortages that have snarled travel around the country.
The Senate bill would fund DHS components such as TSA and the US Coast Guard but withhold funds from Immigration and Customs Enforcement and part of Customs and Border Protection.
Lawmakers in the House of Representatives could vote on the bill as early as Friday.
"This agreement funds TSA, the Coast Guard, FEMA, CISA, strengthens security at the border and ports of entry, and keeps America safe," Democratic Senate minority leader Chuck Schumer said in a statement.
"Democrats held firm in our opposition that Donald Trump's rogue and deadly militia should not get more funding without serious reforms."
Republican senator Susan Collins, who chairs the Senate appropriations committee, said Democrats had damaged Congress's annual funding process, weakened national security, and set "a precedent that they may one day come to regret".
"Democrats remained intransigent and unreasonable with their list of demands," she said in a statement.