Heat oil and butter in a large pot. Add garlic, onion, and bay leaf. Cook, stirring occasionally, until the onion is begins to color.
Add all the vegetables and stir for 2-3 minutes. Then fill the pot with water to about 3 inches from the top of the vegetables. Bring to a boil with the lid ajar. Reduce heat and let simmer for about 2 hours.
Place a strainer or colander on top of a large pot. Ladle about a ⅓ to ½ of vegetables into the strainer and mash through the holes. Return the mashed vegetables to the soup and stir.
Add broken pieces of spaghetti or rigatoni and cook until ad dente, according to the package directions. Ladle into bowls and top with fresh basil. Enjoy!