Trim beet greens at the base of the beet. Bring a large pot of water to a boil and add the beets. Reduce the heat and cook, uncovered, at a low boil until tender, 30 to 40 minutes. Test the beets by inserting a paring knife or skewer. If there is no resistance, they are ready to be drained. Drain when tender and allow to cool or run them under cold water to cool them quickly. Peel, cut into large pieces, and set aside.
Heat oil in a small saute pan, add the onion and 1/4 teaspoon salt, cook until tender, about 7 minutes. Add the garlic and cook for 2 more minutes. Combine the onion/garlic and beets in a blender or food processor. Add 2 cups stock and puree until smooth. Add water 1 cup at a time until desired consistency, being careful not to make soup too thin. Add the orange juice, 2 teaspoons lemon juice, 2 teaspoons vinegar, 1 teaspoon salt, and a few pinches of pepper. Season if needed with lemon juice, vinegar, salt and pepper. Chill the soup, ladle into bowls. Garnish each with a swirl of sour cream and a sprinkle of dill.