Preheat the oven to 450F. Spread the squash out on a rimmed baking sheet and drizzle with oil. Wrap the beets individually in foil. Place the sheet in the oven and the beets directly on the rack; roast for 30 minutes, or until the squash is soft and turning golden on the edges. Leave the beets in for another 30 minutes. (This can be done ahead of time; stash them in the fridge until you need them.)
Meanwhile, in a medium pot heat a drizzle of oil over medium heat and sauté the onion for a few minutes, until soft. Add the garlic and roasted squash. When they’re cool enough to handle, peel and chop the beets; add to the pot along with the orange juice and stock and simmer for about 30 minutes.
Add the half & half, season with salt and pepper to taste and puree the soup with a hand-held immersion blender (or in batches in your regular blender) until smooth. Serve warm with a dollop of sour cream. Serves 6.