“I'm so thrilled. We knew it was going to be tough, we went out there and fought our hearts out. We had to work really hard for the whole 70 minutes”
Georgie TwiggGB goalscorer
Twigg claimed the final touch to captain Kate Walsh's goalbound shot from a penalty corner before Danson scored twice, the second a superb reverse-stick strike, in quick succession.
South Korea's Lee Seon-ok scored with a penalty stroke after British keeper Beth Storry bundled over Park Mi-hyun.
But Storry redeemed herself with a stunning reaction stop to prevent South Korea narrowing the gap further in the last action of the first half.
Britain weathered a storm early in the second period as South Korea forced a succession of penalty corners to no avail.
And Richardson eased her side's nerves by sliding in to divert Walsh's strike from a penalty corner into the net.
Twigg added: "I'm so thrilled. We knew it was going to be tough, we went out there and fought our hearts out. We had to work really hard for the whole 70 minutes.
"It was a great drag-flick from Kate and I just cheekily put it in."
Hosts Argentina will play Olympic champions the Netherlands in Saturday's other semi-final. Organisers have swapped the semi-final start times, meaning Britain now face Germany at the earlier time of 2030 GMT on Saturday, while the Dutch and Argentines play in the later 2300 GMT slot.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.