Flood protection projects along the Gulf Coast, including 100-year levee protection in New Orleans, would cost about $7bn if fully funded.
The bill approves projects but does not approve their funding.
The US leader was vehemently opposed to the bill.
His supporters have said the Army Corps of Engineers has a backlog of $58bn worth of projects and an annual budget of about $2bn to address them.
Bush vetoed no bills during his first five years in office.
He has since vetoed a stem cell research bill twice, an Iraq spending bill that set guidelines for troop withdrawals, and a children's health insurance bill.
House and Senate Republicans managed to sustain the vetoes.
The last presidential veto overrule occurred when Congress dealt Bill Clinton the second of his two in November 1998.