The vote was 79-14 to pass the bill. Maine Senators Olympia Snowe and Susan Collins voted to override, joining 43 Democrats, 32 other Republicans and two independents.
The vote marks a milestone for a president who spent his first six years with a much friendlier Congress controlled by his Republican Party.
The bill funds hundreds of Army Corps of Engineers projects, such as dams, sewage plants and beach restoration, that are important to local communities and their representatives. It also includes money for the hurricane-hit Gulf Coast and for Florida Everglades restoration efforts.
Bush said the bill was too expensive.
The House voted to override the veto on Tuesday, as both votes easily exceeded the two-thirds majority needed in each chamber to negate a presidential veto.