Add the olive oil to a large pot over medium heat.
Next, add in the onions, gently season with salt, and sauté for 5 minutes. Once they are lightly browned around the edges, reduce the heat to low and cook for 10 minutes, stirring occasionally stirring.
Stir in the garlic and carrots and cook for an additional 5 minutes.
Mix in the tomato paste and cook it until the veggies are coated and the paste turns a rust-like color. This will take 3 to 5 minutes.
Add in the tomatoes, basil, salt, and stock, and simmer over low to medium heat for 30 minutes.
Transfer the mixture in batches to a blender. Remove the center cap from the top, replace it with a kitchen towel, and slowly blend at high speed until it is smooth. You could also use a hand immersion blender for this. Repeat the process if you could not fit it all on the first time, which will be most likely happen as you do not want to fill it up past the ¾ mark.
Transfer the soup to a large pot. Finish by stirring in the cream, balsamic vinegar, salt, and ground white pepper.
Garnish with croutons and additional fresh basil, if desired.
Notes
If there’s one thing you need to know about making homemade tomato soup, it’s to give those fresh ingredients plenty of time to cook down so their natural flavors can deepen and get even better. It’s why I choose to caramelize the onions and cook the aromatics with the tomato paste for a good 5 minutes. This is the difference between a tomato soup that falls flat and one that tastes like it’s been simmering all day.Be careful when blending hot liquids. To prevent a soup explosion, wait for the soup to cool slightly before blending, never fill the pitcher past the 3/4 mark, and always remove the center cap from the lid (cover it with a kitchen towel instead).Immersion blender option: You can blend the soup right in the pot with an immersion blender instead, but the texture won’t be as smooth. Balance the acidity: We’re playing with a lot of acids here, so it’s no surprise that a tomato soup can taste overly acidic sometimes. To balance this, I’ll stir in a little sugar or honey when it’s tasting a bit sharp.Roast the tomatoes instead, but only if you’re using fresh, in-season tomatoes. Slice them in half, arrange them on a parchment-lined baking sheet, and roast in a 400ºF oven for 20 to 30 minutes. Afterward, toss them in the soup and blend as normal.Boost the umami flavors with a dash of Worcestershire sauce, soy sauce, fish sauce, or anchovy paste, or by simmering a Parmesan cheese rind in the soup. Make-Ahead: To keep Tomato Soup warm, cover the pot and keep over low heat, stirring occasionally, for up to 1 hour before serving. T0 prepare it in advance, make the soup as direct, but wait to blend it until ready to serve. Let it cool completely, then cover and refrigerate. Reheat gently and blend before serving.How to Store: Store the cooled leftover soup in a covered container in the fridge for 4 to 5 days. How to Freeze: To freeze for up to 3 months, prepare the soup as directed, but do not add the cream or balsamic vinegar. Thaw overnight in the refrigerator, reheat, and stir them in before serving.How to Reheat: Transfer the desired amount of soup to a saucepan and heat over medium heat until warmed through.