Over medium heat, place a Dutch oven or similar, add olive oil and chopped onion, and cook for 4–5 minutes, until soft and slightly golden.
Pour in the canned tomatoes (including their juice), broth(chicken/vegetable), garlic powder, sugar, salt, ground black pepper, crushed red pepper flakes, and dried basil.
Bring to a simmer and let it cook for about 10–12 minutes, allowing the flavors to blend.
Use an immersion blender right in the pot to puree until smooth(or transfer carefully to a blender).
Stir in the half-and-half(heavy cream or whole milk) and let it warm through for 2–3 more minutes. Taste and adjust seasoning if needed.
Ladle into bowls and ENJOY with grilled cheese or croutons!!
Notes
You can swap canned whole tomatoes with crushed or diced; chicken or vegetable broth both work well depending on preference or dietary needs.
Dried basil works beautifully here, but you can swap it with Italian seasoning or oregano.
For creaminess, use half-and-half or substitute heavy cream; for a lighter or vegan version, use whole milk or plant-based milk.
Adjust heat easily by adding extra ground black pepper or a pinch of crushed red pepper flakes.
Store leftovers in the fridge for up to 4 days or freeze for up to 3 months; reheat gently to prevent curdling.
Serve with croutons, fresh basil, or garlic bread; feel free to add veggies like celery, cabbage, peppers, or extra onions for more body.