Lawmakers, including 12 Republicans, had passed the rejection resolution on Thursday in a surprising rebuke of Mr Trump’s pledge to build a border wall.
Congress will now need a two-thirds majority in both chambers to override him, which is unlikely to happen.
This is the first veto of Mr Trump’s presidency.
“As president, the protection of the nation is my highest duty,” Mr Trump said on Friday.
Standing behind the president were law enforcement officials, Homeland Security Secretary Kirstjen Nielsen, Vice-President Mike Pence, Attorney General William Barr and “angel parents” – the parents of children killed by illegal immigrants.
“Yesterday, Congress passed a dangerous resolution that if signed into law, would put countless Americans in danger.
“Congress has the freedom to pass this resolution and I have the duty to veto it. I’m very proud to veto it. ”
Mr Trump repeated his claims that illegal immigrants from the southern border were mostly criminals, bringing drugs into the country.
Reaction to Trump’s national emergency
The president has maintained that the situation with migrants at the southern border is a national security and humanitarian crisis, while Democrats have accused him of fear-mongering.
Following the veto, the resolution will return to the House on 26 March, Speaker for the House Nancy Pelosi said.
On March 26, the House will once again act to protect our Constitution and our democracy from the President’s emergency declaration by holding a vote to override his veto. #FakeEmergency
— Nancy Pelosi (@SpeakerPelosi) March 15, 2019
While Democrats control the House, they would need a total of 67 votes in the Senate to override Mr Trump’s veto.
Given that only 12 out of 53 Republicans joined them to pass the initial resolution, it is unlikely that any override measure will be successful.
“House Republicans will have to choose between their partisan hypocrisy and their sacred oath to support and defend the constitution,” Mrs Pelosi said in a statement after Mr Trump’s announcement.
Republican Senator Lindsey Graham shared his support of Mr Trump’s decision.
Totally support President @realDonaldTrump's VETO.
President Trump is right to declare an emergency on our southern border and he’s right on the law allowing him to reallocate funds to secure our southern border.
— Lindsey Graham (@LindseyGrahamSC) March 15, 2019
The highest ranking Senate Democrat, Chuck Schumer, said in a statement that Mr Trump “holds the rule of law and our constitution in minimal regard”.
“There is no emergency; Congress has refused to fund his wall multiple times; Mexico won’t pay for it; and a bipartisan majority in both chambers just voted to terminate his fake emergency,” he said.
US Attorney General William Barr, who stood beside Mr Trump as he spoke on Friday, said that emergency order was “clearly authorised under the law” and “solidly grounded in law”.