Trim beet tops, leaving 1 inch of stem and roots. Wash thoroughly and sort by size.
Cover similar-sized beets with boiling water and cook until tender, about 25 to 30 minutes. Drain and discard the cooking liquid.
Cool beets. Trim roots and stems, slip off skins, and slice into 1/4-inch slices. Peel and thinly slice onions if using.
Combine vinegar, salt, sugar, and fresh water. Tie cinnamon sticks and cloves in a spice bag, add to the mixture, and bring to a boil.
Add beets and onions and simmer 5 minutes. Remove the spice bag.
Fill hot jars with beets and onions, leaving 1/2-inch headspace. Add hot vinegar solution, maintaining 1/2-inch headspace. Remove air bubbles, wipe rims, and apply lids.
Process pints or quarts in a boiling-water canner for 30 minutes at 0–1,000 ft, 35 minutes at 1,001–3,000 ft, 40 minutes at 3,001–6,000 ft, or 45 minutes above 6,000 ft.