Heat olive oil in a pan, add diced onion, carrot and celery. Cook for a few minutes until the vegetables start to slightly soften, then add crushed garlic.
Add vegetable or chicken stock, make sure that the stock is warm so the cooking process continues.
Add a can of crushed tomatoes, a bay leaf, a rosemary sprig and a pinch of salt. Bring to a boil, then cover with a lid and reduce heat to simmer. Cook for 10 minutes and let it reduce. If you feel like more water is needed, you can add a cup of hot water and cook for a few more minutes.
Blend half a can of butter beans or cannelloni beans with a little bit of water.
Once the beans are blended, add the mixture to the soup.
The soup will thicken a little, and become more creamy. Let it bubble for a few minutes.
Add your cooked ditalini pasta. Cook the pasta according to the package instructions, then set aside until it's used. Remove the bay leaf, and the rosemary sprig from the soup.
Add canned kidney beans and butter beans. Cover with a lid and cook for 2-3 more minutes. Make sure not to overcook the beans as they can start falling apart, and the pasta can become too soft and mushy.
Season with chilli flakes, and taste the soup to see if it needs more salt. Serve immediately with chopped parsley, and grated parmesan.