In a large Dutch Oven or pot, heat up olive oil. Add diced onions and saute about 5 minutes or until translucent.
Add carrots, celery, potatoes, and cabbage and continue to saute another 5-10 minutes.
Next, add diced tomatoes and beans and stir to combine.
Add chicken broth and bring to a simmer. Cover and let cook about 30-35 minutes or until potatoes are soft.
Next, add in pieces of bread, a few at a time, being sure to immerse them completely in the broth. Stir well to combine and break up the pieces of bread.
Next, blend using an immersion blender directly in the pot, or in batches in a blender. The soup should be thick, but you can thin it out to your preference with some water. Season with salt and pepper to taste.
Lastly, add in roughly chopped kale and stir until wilted slightly.
Serve soup with a drizzle of olive oil and some grated parmesan cheese.