Mark Lippert, 42, was also cut on his left hand, with blood spattered over the breakfast table.
Security officers subdued the attacker, one pinning him down with a shoe on his neck, until he was arrested.
Mr Lippert had hospital treatment but later said he was “doing well”.
“Doing well and in great spirits!” he wrote in a tweet. “Will be back ASAP to advance US-ROK [Republic of Korea] alliance!”
US President Barack Obama called his ambassador to wish him “the very best for a speedy recovery”, a US official said.
The US state department said it strongly condemned the incident which South Korean President Park Guen-hye described as an “attack on the South Korea-US alliance”.
Witnesses say the attacker, a 55-year-old man with a history of militant Korean nationalistic activism, shouted demands for North and South Korea to be reunified.
It took 80 stitches to close the ambassador’s facial wound, which was 11 cm (just more than 4 in) long and 3 cm deep, doctors said.
The cut did not affect his nerves or salivary gland, hospital spokesman Chung Nam-sik said.
The attack happened at about 07:40 (22:40 GMT Wednesday), as the ambassador was at a performing arts centre in central Seoul, South Korean police say.
The assailant, named as Kim Ki-jong, reportedly shouted “South and North Korea should be reunified!” before lashing out at the envoy.
He also reportedly condemned annual military exercises held jointly by South Korea and the US, which are currently under way.
North Korea has described the exercises – which involve more than 200,000 troops – as a rehearsal for an invasion and has vowed retaliation.
However, there is no evidence that the attacker was an agent of North Korea, the BBC’s Stephen Evans in Seoul reports.
A small group of South Koreans believe that the American military presence prevents unification of the two Koreas.
The assailant previously threw concrete at the Japanese ambassador to South Korea.
Mr Lippert – a former US assistant secretary of defence – was appointed ambassador to South Korea in 2014.
His wife gave birth in the country, and the couple gave their son a Korean middle name, according to the Associated Press news agency.