This is no simple soup, it's a richly-flavored dish that features lots of spice and aromatics. Use our Whole Roasted Tomatoes as a base.
In a medium saucepan, heat oil over medium. Add onion and garlic and season with salt and pepper. Cook, stirring occasionally, until onion is soft, about 12 minutes. Add cumin and coriander; cook, stirring, until fragrant, about 30 seconds. Add tomatoes, sugar, and 1 cup water and cook until warmed through, about 5 minutes. In batches, puree soup in a blender until smooth (use caution when blending hot liquids). Strain through a fine-mesh sieve. Stir in butter and season with salt and pepper. Serve soup with cilantro and red-pepper flakes.