The American had 4x400 relay golds from the 2004 and 2008 Games but, until Sunday, no individual title.
"To come out here and be successful is my ultimate dream come true. It's a huge weight off my shoulders," Richards-Ross told reporters.
"I kept telling myself, 'You are the champion', but to go out there and accomplish it was really tough," added the 27-year-old who has overcome a series of health problems.
Richards-Ross, the most prolific sub-50 seconds female 400 runner, set off at a blistering pace but was behind Russian Antonina Krivoshapka and compatriot DeeDee Trotter coming off the final bend.
As her rivals visibly tired, Richards-Ross kept her form and, with a determined look on her face, reeled them in before breaking into a smile when she dipped for the line to win in 49.55 seconds.
Britain's defending champion Ohuruogu was second and Trotter finished third.
"I got out really well, the first 50, I kind of backed off a little bit too much on the corner, I kept telling myself, 'Be patient', said Richards-Ross who had been favourite for the gold in Beijing four years ago but came third.
"I got to 100 metres and there were about four of us, which I'm not used to, so I kept saying, 'You can do it, you can do it'."
The defending champion left it late to finish strongly and grab second in 49.70 seconds, behind Richards-Ross.
And the 2007 world champion was heartbroken to relinquish the title she so dramatically won in Beijing four years ago.
“I was stunned. I was heartbroken actually – I really was,” said the 28-year-old. “To lose your title like that was tough, it really was.
“But fair play to Sanya, she’s a great competitor and she ran a great race. I have to be happy with what I got – it could’ve been worse.
“I tightened and I could feel my shoulders lifting. It’s really hard to control when you’re fatigued. I thought I had some time, but the line came too soon and then I thought it had gone.
"I always came here with one thing and one thing only on my mind – to continue my reign as Olympic champion. I’m just a bit disappointed.
“I wanted to go back and thank all the people who have made the Games so special. Everybody I’ve spoken to – non-British athletes – have all said what a great crowd and great atmosphere we had.
“It’s really good that everybody has got behind the London 2012 Games. They’ve all helped to make the Games it is – they did it. We just turn up and perform, but they’re here in the rain and cold.
“It means so much to us – the athletes were buzzing on the first day and so nice to have in your own country.”
Meanwhile, Martyn Rooney failed to make the Olympic 400m final after his 45.31 seconds time was only good enough for fifth in the third and final heat.
The 25-year-old failed to reach the heights of Beijing where he finished sixth and he was wholly apologetic for an under-par performance.
“The race was alright, but it just wasn’t good enough,” he admitted. “I can only apologise to the people who have put four years into me.
“I’ve trained hard and done all the sacrifices I needed to do. I’ve lost a life and stuff like living in altitude tent – things like that.
“I want to apologise to my girlfriend and my family – I haven’t been there for them. I’m really sorry to them. I’ve let myself down and I’ve let them down as well.
“I have to sort it out. I’ve got a relay to think about in the next couple of days. This was an opportunity to win a medal and I didn’t take it.
“To have a crowd shout ‘Rooney’ before I go in like the footballer was great and I wished I could have lived up to it.”
Conrad Williams faded badly in the last quarter of the race to finish eighth in his heat posting a time of 45.53 seconds.
“I wanted to give the crowd something to cheer for and they got me to that 320m,” he said. “I knew it was tough to go through and I tried my best.
“I went out to race – I didn’t just try to hang on and get dragged, I actually went out to try and win it.
“I might have gone too fast between 200m and 300m – I can feel that – but I wanted to set up the race for me. It’s something to work on – I had to go out with that race and make sure I was up for it.”
Nigel Levine had a creditable run finishing sixth in his heat in 45.64 seconds as the ‘Blade Runner’ Oscar Pistorius bowed out of the London 2012 individual event finishing in eighth.