Trump declared the emergency to circumvent Congress and take money already designated for other programs to pay for the US-Mexico border wall he promised to build during his 2016 campaign.
Last month, the Democratic-led House passed the joint resolution by 236-174, as 11 Republicans and one independent joined Democrats to vote in favor.
The Republican-led Senate had approved the measure days earlier, by 54-41. Eleven of the Senate's 53 Republicans joined Democrats favoring the resolution.
"The situation on our southern border remains a national emergency, and our armed forces are still needed to help confront it," Trump said in his veto message, Reuters reported.
Trump used the very first veto of his presidency in March to strike down a similar measure that had cleared the House and Senate. Congress was unable to muster the two-thirds majorities in both chambers to override that veto and is not expected to do so this time.
Congress has refused to meet Trump's demands to fund a wall, although it has provided some funds for border fencing and other barriers.
Members of Congress from both parties have been particularly unhappy about Trump shifting large amounts of money from the military budget to fund the wall, including funds for housing, schools and childcare for members of the armed forces and their families.