Step 1Heat the oven to 400 degrees, and line a baking sheet with parchment paper. In a medium bowl, toss the cranberries with the olive oil, 1 tablespoon rosemary, ginger, hot pepper, sugar and one-fourth teaspoon salt. Spread the cranberries evenly onto the baking sheet, then place the sheet in the oven. Roast the cranberries until they have split and are softened, about 15 minutes. Scrape the roasted cranberry mixture, including the herbs and oil, into a bowl and set aside.
Step 2Wrap the beets in foil and place them on a baking sheet. Roast the beets until just tender and easily pierced with a fork, about 45 minutes. Remove the beets from the foil to cool.
Step 3When cool to the touch, peel and rub off the beet skins with your fingers. (To hasten the cooling -- and minimize the staining of your hands -- run the beets under cold water while peeling.) Set the peeled beets aside.
Step 4Melt the butter in a 4-quart heavy-bottom pot over medium-low heat. Stir in the onion, garlic and remaining rosemary and cook, stirring occasionally, until the onions are soft and translucent. Add the carrots and potato and continue to cook until both have begun to soften, about 6 minutes, stirring occasionally. Add the reserved cranberry mixture and continue to stir until the entire mixture is fragrant, soft and jammy, another 8 to 10 minutes, stirring occasionally.
Step 5Stir in the broth and simmer gently for 15 to 20 minutes to develop the flavors. Remove the mixture from heat and blend (using an immersion blender or in stages using a stand blender) until the cranberries and vegetables are nearly smooth; the soup should have a pale, rosy color.
Step 6Slice the peeled beets into one-half inch cubes and add to the soup. Return the pot to the stove and bring to a gentle simmer. Cover and cook for 15 to 20 minutes to allow the bright color of the beets to permeate the soup and give the flavors time to mingle. Season to taste with salt and pepper.