It was Ki's second title of the games after her gold as part of the South Korean women's team.
With the scores locked at 5-5 in sets, the top-seeded Ki only managed an eight in the decisive shoot-off for the individual title. But just needing to put her arrow in the yellow centre ring, Roman lost out at the end as she also shot an eight, and her arrow was further away from the centre than Ki's.
"Today I think I was, in part, lucky," Ki said through an interpreter. "I didn't see the last shot by Aida because I was just praying so hard. Finally, the gold medal was intended for me."
The gold was South Korea's third medal in the archery. The men's team won bronze.
Roman's silver was the second medal of the day for the young Mexico team after 18-year-old teammate Mariana Avitia beat American veteran Khatuna Lorig 6-2 in the bronze match at Lord's cricket ground.
It denied Lorig a second medal in her fifth Olympics and 20 years after her first — a bronze in the team event at the 1992 Barcelona Games.
The No. 2-ranked Ki was stronger in the opening stages of the packed out final on the perfectly cultivated green turf normally reserved for the world's top cricketers.
Buoyed by the Korean supporters, she led 3-1. But Roman won the last two sets, picking up four set points to force the final contest into a shoot-off.
Ki went first and looked downcast after she missed the 10-point centre circle in a tricky crosswind.
But Roman also was off target with an eight, sending her arrow left and further away from the centre then Ki's. The relieved South Korean hugged her coach in celebration, while Roman smiled ruefully after the pressure got to her.
"Strictly speaking it wasn't that difficult a shot," Roman said, "but it became a lot more complicated."