Tomato Soup with Beans and Spinach

This creamy homemade tomato soup with white beans and spinach is so easy to make and comes together in 30 minutes or less. It is warm and comforting, made with simple ingredients and so much better than the canned tomato soup that you grew up with!
I have got to say, soup is my thing. I love, love, love soup for any meal and at any time of day. There is nothing more comforting than a hot bowl of soup to warm you up. I especially love it when it is quick and easy to make for a weeknight meal or lunch. That is where this tomato soup comes in. There is also many different variations for this dish that you can try!
I made this soup for dinner one night not too long ago. I had got a bowl of soup while out to lunch earlier that day one of my favorite bistros. The soup special of the day was tomato soup. I got it and was sorely disappointed. It wasn’t at all what I had wanted it to be so I had to go home and whip up the soup I was craving, knowing that I had all of the ingredients on hand at home already. Don’t you just love when that happens? I do! Anyways, my family claimed that they weren’t “in the mood for this soup.” Yet, they all went back for seconds, my toddler included! So that tells you a lot.
Ingredients needed to make this soup:
- Crushed tomatoes (28 ounce can)
- Vegetable broth
- Butter
- 2 cans of Cannellini beans or other similar white bean
- Fresh spinach
- Shallots
- Heavy cream
- Bay leaves
- Sugar
- Fresh basil (optional)
- Parmesan cheese (optional)
Step by Step Instructions:
- In a dutch oven or a large pot, heat the butter until melted. Add the shallots and saute on medium heat until translucent (about 2-3 minutes). Stir in the crushed tomatoes and vegetable broth.
- Next, add the bay leaves, sugar, salt and pepper to taste, lower the heat and allow soup to simmer for about 15 minutes. Once that is finished, be sure to take out the bay leaves and discard them.
- Drain the canned beans and add them to the soup. Stir in the heavy cream and turn off the heat. Finally, add in the chopped fresh spinach and stir until it is wilted.

- Use a ladle to scoop the soup into bowls. You can sprinkle the top with fresh basil and Parmesan cheese if you would like. Serve immediately and enjoy!
Substitutions:
If you cannot find plain crushed tomatoes, using the crushed tomatoes with basil is just as tasty!
If you do not have shallots on hand, a different type of sweet onion such as vidalia would work just fine in this soup. I have used both for this recipe.
Rather than using heavy cream, you can use half and half or milk to make it a bit lighter. You can also swap out the butter for olive oil and substitute the cream altogether for coconut cream or something similar to make this soup dairy-free.
Instead of vegetable broth, try using chicken broth or stock.
Variations:
You can use the tomato soup recipe as a base and add any ingredients of your choice. Some to try that I think will work great in this soup are:
- Russet potatoes
- Peas
- Green beans
- Cauliflower
- Kidney beans
- Kale or similar green
- Shredded chicken
- Zucchini
- Roasted red peppers
- Carrots
- Sweet potato or squash
- And my personal favorite, rice or pasta!
I particularly LOVE elbow macaroni in my tomato soup. My mom used to make this dish for me as a child. She used the canned tomato soup and added the macaroni to it with some cheese. I loved it! This dish was so comforting to me when I was younger so that’s why I decided to recreate it.


Creamy Tomato Soup with Beans and Spinach
Ingredients
- 28 ounce crushed tomatoes
- 4 cups vegetable broth
- 3 tbsp salted butter
- 2 15 ounce cans cannellini beans drained
- 2 shallots finely chopped
- 3 ounces fresh spinach chopped
- ¾ cup heavy cream or more for creamier soup
- 2 tbsp sugar
- 1-2 bay leaves
- fresh basil for topping optional
- grated parmesan cheese for topping optional
- salt and ground pepper to taste
Instructions
- In a dutch oven or large pot, heat the butter until melted. Add the shallots and saute on medium heat until translucent, about 2-3 minutes.
- Stir in the crushed tomatoes and vegetable broth. Add the bay leaves, sugar, salt and pepper to taste. Allow the soup to simmer for about 15 minutes.
- Discard the bay leaves. Drain the canned beans and add them to the soup. Stir in the heavy cream and turn off the heat. Add the chopped fresh spinach and stir until it is wilted.
- Ladle the soup into bowls. Top with fresh chopped basil and Parmesan cheese (optional). Serve immediately.