Warm oil in a large pot over medium heat. Add onion and cook, stirring occasionally, until softened, 6 to 8 minutes. Trim and peel beets. Cut each into eighths. Stir beets into pot and pour in broth. Raise heat to medium-high, add 1/4 tsp. salt, cover and bring to a simmer. Remove cover, reduce heat to medium to maintain a simmer and cook until beets are tender and amount of liquid has reduced, about 45 minutes. Remove from heat and let cool slightly.
Working in batches, puree soup in a blender until smooth. Transfer to a large bowl. Cover and refrigerate until thoroughly chilled, at least 2 hours.
Whisk in yogurt. Stir in vinegar and season well with salt and pepper. Serve in chilled bowls, garnished with sprigs of fresh dill, if desired.