Remove greens from beets; cut off and discard stems. Cut the greens crosswise into 1/2-inch strips; set aside. Scrub beets; place in a saucepan large enough to hold them in a single layer. Add broth and, if necessary, enough water to just cover them. Bring to a boil over high heat. Reduce heat to a gentle boil and cook until the tip of a sharp knife can be easily inserted into the beets, 30 to 45 minutes.
Transfer the beets with a slotted spoon to a cutting board to cool. Measure the cooking liquid; either add water or reduce over high heat to get 6 cups total. Strain through a sieve lined with paper towels into a medium bowl. Slice off beet ends and slip off skins. (To avoid Lady Macbeth hands, wear rubber gloves or hold beets in a paper towel.) Cut the beets into 1/4-inch dice; transfer to a medium bowl and gently mix with 2 tablespoons vinegar. Set aside.
Heat oil and butter in a Dutch oven over medium heat. Add onion and cook, stirring occasionally, until translucent, about 3 minutes. Add rice, increase heat to medium-high and cook, stirring constantly, until all the rice is opaque, about 1 minute. Add the remaining 3 tablespoons vinegar and 1 cup of the reserved beet-cooking liquid. Stir until almost all the liquid has been absorbed, adjusting the heat as necessary to maintain a simmer, about 4 minutes. Continue to add the beet broth, 1 cup at a time, stirring after each addition until all the liquid has been absorbed and adjusting the heat as necessary to maintain a simmer. dd the reserved beet greens to the rice along with the final cup of broth. Cook, stirring, until the greens are wilted, about 2 minutes. Add the reserved beets and continue stirring until all the liquid has been absorbed, about 2 minutes more. Season with salt and pepper. Serve with Parmesan cheese, if desired.