Add olive oil to a large pot and turn the heat to medium. Once warm, place the onion, carrot, and celery in the pot and fry for 3-5 minutes until soft, stirring occasionally. Add garlic and cook for 1 minute.
Add potatoes, courgette, tomatoes, stock, spices, and a bay leaf. Stir to combine and bring to a boil. Once boiling, reduce the heat to low and simmer. Place a lid, partially covering the pot, so that the steam can escape. Simmer for 30 minutes.
While the soup simmers, cook the pasta in a separate pot of salted boiling water according to package directions. Drain and rinse the pasta in cold water. Set aside until the soup is almost finished.
When the soup has simmered for about 30 minutes, add the green beans, kidney beans, and spinach. Allow to simmer for 5-10 minutes. Remove the bay leaf.
Add pasta to the pot and top with fresh parsley.