In a large soup pot, heat the olive oil over medium heat. Add the onions, garlic, celery, carrots, zucchini, and mushrooms. Cook for about 10 minutes or until the vegetables become soft.
Add the diced tomatoes, marjoram, basil, oregano, bay leaves, salt, and pepper. Stir to combine.
Stir in the tomato puree, chicken or vegetable stock, and beans. Reduce heat to low, cover and simmer for a half hour. Stirring occasionally.
While the soup is simmering, cook the pasta according to package directions in salted boiling water. Drain, rinse and set aside.
When the soup is finished simmering, stir in the parsley.
To serve, add a scoop of the cooked pasta to a bowl and pour a large ladle or two of the soup over the pasta.