England met the Springboks challenge head on at Kings Park and were level at 6-6 at half-time after Owen Farrell and Steyn traded penalties.
South Africa began to gain the upper hand after the break as Steyn and captain De Villiers broke through and the hosts held on despite two more Farrell penalties applying pressure.
Ben Foden claimed a late England consolation after the final hooter and head coach Stuart Lancaster will take some heart from the fighting display of his players.
Despite that, what was England's eighth successive Test loss to the Springboks still leaves them facing an uphill fight to win their first three-match series in South Africa.
The scoreline might have been close but the normally reliable Steyn, who still scored 17 of his side's points, did miss two conversions and a penalty.
Heavy rain eased before kick-off but the surface remained slick.
The Springboks looked to impose themselves early on with some powerful hits and the more expansive handling of the two sides.
Bryan Habana gave England an early warning as he claimed a high kick from scrum-half Ben Youngs and weaved his way through several failed tackles before being halted on halfway.
But England also went hard into their tackles and were handed the chance to open the scoring when Eben Etzebeth, one of three debutants for the hosts, was penalised.
Farrell drilled a long-range effort between the posts and the fly-half had an opportunity to open up the Springboks defence soon after but his delicate kick was not read by any team-mates.
South Africa pulled themselves level with a Steyn penalty after Youngs, who was given a thorough examination throughout, lost possession and England were caught offside.
England survived a scare after Francois Hougaard found a gap and almost put Pierre Spies over when Manu Tuilagi produced a fine tackle to block the Springboks number eight on the line.
The tourists relieved the pressure after earning a penalty inside their own half and managed to claim three more points when a South African offside allowed Farrell another shot at goal.
But it was a penalty soon cancelled out by Steyn after another offside decision.
Mike Brown sparked an England attack when he broke a tackle from Habana and right wing Chris Ashton side-stepped Zane Kirchner to race clear. It took a fine recovering tackle from Hougaard to deny him.
Steyn had a chance to put South Africa ahead from wide on the left in the closing seconds of the first half but dragged his attempt wide.
England carried their fighting spirit into the second half and Tuilagi barged through an attempted tackle from De Villiers.
But it was South Africa who took a grip on the game by claiming the opening try in the 48th minute.
Prop Jannie du Plessis and De Villiers were both stopped inches short of the line before the ball was spun out left for Steyn to crash over.
That proved the start of prolonged spell of South African pressure.
England initially held firm, albeit at a price as Durban-born centre Brad Barritt was forced off with a head injury.
JP Pietersen almost found a way through on the left but was pushed into touch by Brown, an act the South Africa wing took exception to by sparking a minor fracas.
South Africa continued to pour forward with Habana proving a particularly tricky customer.
Eventually England had to crack and it was De Villiers who broke through for a second try on the hour as he raced onto a Pietersen pass and powered through a weak Brown tackle.
After another missed goal attempt by Steyn, England - not disheartened - powered forward in an attempt to find a way back into the game with Foden and Ashton finding gaps.
A kick over the top by Farrell looked to have proved fruitless but England came away with a penalty and the fly-half reduced the arrears to 16-9.
Farrell then cut that by another three points with just under 15 minutes remaining after another South African indiscretion.
The Springboks regrouped and extended their lead a little further when an England offside presented Steyn with a kickable penalty.
He added another in the closing moments as England ran out of steam.
England claimed a consolation after the final hooter when Foden dived over in the corner.
Gilbert has released a new line of rugby cleats. The Gilbert Virtuo 8S is part of the exciting new product. Check it out.
The Barbarians are one of the top invitational rugby sides with a long history and classic rugby jersey.
The Nike Tiempo is a solid rugby cleat and one of few styles still made from full-grain natural leather.
The Lions get ready for their matches with this green training jersey. It's what the players wear. Get in the Gear!
A cool looking all black rugby cleat with the high performance adidas is known for. Get in the Gear!
Wear the crest of the British and Irish Lions on your t-shirt. A great look for the summer.
The Lions are ready to get their Australia tour underway. They arrive in Perth on Monday.
The New Zealand All Blacks training jersey for 2013/14. Get in the Gear!
The USA Rugby Pro Alternate rugby jersey is perfect for any fan of the Eagles. Get yours to wear during the summer Test matches.
The NEW All Blacks 2013/14 jersey has arrived at World Rugby Shop. Dare to wear the colors of the All Blacks.