Preheat the oven to 400°F (200°C).
Toss the peeled and cubed beets with extra-virgin olive oil, salt, and pepper. Spread them in a single layer on a baking sheet.
Roast the beets in the preheated oven for about 30-35 minutes, or until tender and caramelized. Stir once halfway through cooking to ensure even roasting.
While the beets are roasting, prepare the orange segments by peeling and removing any seeds. Thinly slice the red onion and set aside.
In a small bowl, whisk together the balsamic vinegar (or apple cider vinegar), orange juice, and honey (if using).
Once the beets are done roasting, let them cool slightly.
In a large bowl, combine the roasted beets, orange segments, and thinly sliced red onion.
Drizzle with the prepared dressing and gently toss to combine.
Garnish with chopped fresh cilantro (or parsley) and serve.