Cost per Serving:
Melt butter in a large saucepan over medium heat. Add onion and sugar and cook until onion is soft and golden, 3 to 5 minutes. Stir in flour and cook, stirring constantly, 1 minute.
Slowly pour broth into pan, scraping brown bits from bottom. Stir in tomatoes. Bring to a boil, lower heat and simmer until soup has thickened, about 15 minutes.
Puree mixture in batches and return to pot. Stir in half-and-half and cayenne pepper. Season with salt. Heat through and serve.