Preheat the oven to 400°F. Wrap the beets in foil and roast them for 45 minutes until tender. Let them cool, then peel and puree three of them in a blender. Cut the fourth beet into small cubes and set aside.
Warm the vegetable broth in a saucepan over low heat.
Heat 2 tablespoons of the olive oil in a large pot over medium heat. Add the onion and cook until soft. Stir in the garlic and cook for one more minute.
Add the Arborio rice and stir for two minutes until the grains look slightly toasted.
Ladle in the warm broth one cup at a time, stirring often. Wait until each addition is absorbed before adding the next. Continue until the rice is creamy and cooked through.
Stir the beet puree, cubed beets, Parmesan, and butter into the rice. Season with salt and pepper.
Heat the remaining olive oil in a small skillet over medium heat. Add the sage leaves and fry for 30 seconds per side until crisp. Drain on a paper towel.
Spoon the risotto into bowls and top with the crispy sage leaves.