Heat olive oil in a large pot over medium heat. Add onions, celery and carrots to the pot; season with salt and pepper. Slowly cook (sweat) onions, celery and carrots, stirring occasionally, until soft; about 15-20 minutes. Add garlic and stir for another minute.
Add potato and season with onion powder, garlic powder, Italian seasoning and a little more salt and pepper; sauté for 3 minutes. Add zucchini and sauté for an additional 3 minutes. Add tomato paste and brown for a minute or two while stirring.
Add stock, water, beans and diced tomatoes; bring to a simmer.
Add pasta and let cook in soup (add more water if necessary); about 10 minutes
Add corn and simmer for another 3 minutes.
Just before it's finished, add fresh baby spinach and stir (it will wilt from the heat of the soup).
Taste and adjust seasonings if necessary.
Serve warm and garnish with fresh parsley.