The Victor Edelstein gown was sold for 240,000 pounds, Kerry Taylor Auctions said. It came slightly below the expected maximum price of 300,000 pounds.
The auction house did not disclose the identity of the buyer, only saying it was sold to a "British gentleman as a surprise to cheer up his wife."
Nine other of Diana's dresses were sold to bidders, which came from around the world and included three museums, the auction house said.
Two dresses by Catherine Walker, one of Diana's favorite designers, went for 108,000 pounds each. They were a black velvet and beaded gown worn for a Vanity Fair photo shoot by Mario Testino at Kensington Palace in 1997, and a burgundy crushed velvet gown the princess wore to the film premiere of "Back to the Future" in 1985.
Diana sold dozens of her dresses at a New York charity auction at the suggestion of her son, Prince William, in 1997 — three months before she died in a Paris car crash. Florida-based socialite Maureen Dunkel bought about a dozen of the dresses — including the 10 to be sold next month — and put them up for auction in Canada in 2011, but the prices were set too high and many dresses didn't sell.