Heat 3 tbsp olive oil in a large pot over medium heat.
Sautée chopped garlic until fragrant.
Add chopped onion, carrots and celery and cook, stirring often, until vegetables start to soften.
Season with salt and pepper.
Add crushed tomatoes and vegetable stock. Reduce heat to medium-low, cover pot and cook for 15 minutes.
While that’s cooking, place half the beans in a bowl and mash them with a fork or potato masher.
Add mashed beans and whole beans to the pot, along with spinach, herbs, red pepper flakes and parmesan rind.
Stir well and bring to a gentle simmer for 15-20 minutes.
Add the dry pasta to the pot and stir well and cook for 7-8 minutes.
You may need to add more vegetable broth or water as this cooks.
Serve in bowls topped with with parmesan cheese, drizzle with oil, fresh herbs and crusty bread for dunking.
Note: If you want to keep this recipe vegan, add 4 tbsp nutritional yeast instead of the parmesan rind.