Meeting in a rare New Year’s Day session, senators voted 81-13 to secure the two-thirds majority needed to override the veto.
Eight previous Trump vetoes had been upheld and until Friday’s vote, he had been on track to be the first president since Lyndon Johnson with none overridden.
The Senate also ended for now a push by Democrats to increase COVID-19 financial relief checks from $600 to $2,000, a change sought by Trump. The effort was blocked by Republicans.
Republican lawmakers have largely stood by the president during his turbulent White House term.
Since losing his re-election bid in November, however, Trump has lashed out at them for not fully backing his unsupported claims of voter fraud, for rejecting his demand for bigger COVID-19 relief checks, and for moving to override his veto.