Heat the oil in a dutch oven or large pot over medium heat. Add diced celery, carrots, and onion, then sauté for 5-7 minutes until the carrots are soft and onions are translucent.
Incorporate minced garlic, tomato paste, salt, oregano, and red pepper flakes into the pot, sautéing everything together for an additional 1-2 minutes until fragrant.
Add bay leaf, diced potato, chopped zucchini, fire-roasted diced tomatoes with their juices, vegetable broth, and water into the pot; increase heat and bring everything to a boil.
Once boiling, cover the pot with a lid, reduce heat to low, and allow the soup to simmer for about 15 minutes so all flavors meld beautifully.
Remove the lid and stir in drained great northern beans, shell pasta, and spinach; continue simmering uncovered for another 15-20 minutes or until pasta is cooked through.
Once done cooking, remove from heat and adjust seasoning with salt and pepper as needed; add lemon juice if desired before ladling into bowls warm! Enjoy your comforting Vegan Minestrone Soup!