Heat butter over medium heat in large saucepan until foaming. Add onion, tomato paste and allspice. Reduce heat to low, cover, and cook, stirring occasionally, until onions are softened, 7 to 10 minutes. Add flour and cook, stirring constantly, until thoroughly combined, about 30 seconds. Gradually add vegetable or chicken stock, whisking constantly to combine; stir in reserved tomato juice. Add peeled, roasted tomatoes to the pot. Cover, increase heat to medium, and bring to a boil. Reduce heat to low and simmer, stirring occasionally, to blend flavors, about 10 minutes.
Off the heat, use an immersion blender to puree soup until smooth. Add cream — I often start with just 1/4 cup, adding the last 1/4 cup, if we wish, drizzled over serving bowls — warm over low heat until hot, about 3 minutes. Off heat, stir in brandy and season with salt and cayenne. Serve immediately.