Speaking during a visit to communist Vietnam and talks with its leaders, Mr Obama said the move removed a “lingering vestige of the Cold War”.
The US is trying to bolster its relationship with its Pacific allies, as China asserts territorial claims.
But Mr Obama said the embargo decision was not related to US policy on China.
“It’s based on our desire to complete what has been a lengthy process of moving towards normalisation with Vietnam,” he said in Hanoi.
Vietnam is one of several countries in the region involved in maritime disputes with China. The US insists on the right to freedom of navigation in the South China Sea.
In 2014, a row over a Chinese oil rig near the Paracel islands led to clashes between Chinese and Vietnamese vessels and anti-China riots in Vietnam.
White House officials had indicated the arms ban, in force since 1984, would be lifted only if human rights in Vietnam improved.
“Sales will need to still meet strict requirements, including those related to human rights, but this change will ensure that Vietnam has access to the equipment it needs to defend itself,” Mr Obama said after talks with President Tran Dai Quang.
Vietnam had been arguing for an end to the embargo, which was partially lifted in 2014.
Mr Obama’s visit comes 41 years after the end of the Vietnam War in which the US sought to prevent a communist takeover of South Vietnam.
Several million Vietnamese – civilians, communist fighters and South Vietnamese soldiers – were killed, as well as more than 58,000 US soldiers.
By the end of the war in 1975, the communists had gained control of the entire country.
While in Vietnam, Mr Obama is expected to meet dissidents and make the case for Vietnam to remove obstacles to the US-led Trans Pacific Partnership (TPP) free trade deal.
The US president flies later to Japan for a summit of the G7 industrialised nations. His visit will include a tour of Hiroshima, where the world’s first deliberate nuclear attack was carried out in 1945 by the US, killing at least 140,000 people.
In a separate move, Vietnamese officials have removed the accreditation of the BBC’s Jonathan Head in Hanoi after accusing him of conducting an unauthorised interview – something he denies.