WASHINGTON—The Senate approved the largest economic stimulus package in recent memory, moving the estimated $2 trillion bill to the House as Congress seeks to give American families and businesses a financial shield against the ravages of the new coronavirus pandemic.

Senators approved the legislation 96-0, with four senators absent, after round-the-clock negotiations between the Trump administration and leading senators. Following precipitous declines, investors in the past two days have sent U.S. stocks soaring in anticipation...