In a large skillet, heat the oil. Add the onion and cook over moderate heat until just softened, about 2 minutes. Add the beets and cook, stirring, for 2 minutes. Add 3/4 cup of water and bring to a boil. Cover and cook, stirring occasionally, until the beets are just tender, about 5 minutes. Add the vinegar and honey and cook uncovered over high heat, stirring frequently, until the liquid has evaporated completely and the beets are very tender and dry, about 6 minutes longer.
Scrape the beet mixture onto a large plate and let cool. Fold in the sour cream and season with salt and pepper.