In a large saucepan, combine the beets, stock, onion, garlic, wine vinegar and balsamic vinegar; bring to a boil. Reduce the heat to moderate and simmer until the beets are tender, 45 minutes.
Strain the soup in a colander set over a large heatproof bowl. Let the vegetables cool slightly, then peel the beets and cut them into chunks. Transfer the beets, onion and garlic to a blender. Add 2 cups of the cooking liquid and puree until silky. Stir the puree into the remaining cooking liquid; season with salt and pepper. Chill for at least 3 hours. Serve in small cups, garnished with dollops of crème fraîche and dill sprigs.