Cook the bacon and oil together in a stock pot over medium heat just until the bacon is lightly browned. Remove the bacon and store for another recipe.
Add the onion, celery, carrots, garlic and oregano, and cook until the vegetables are beginning to soften. Add the zucchini and cabbage. Cook until slightly softened, about 3 minutes.
Add the bay leaf, crushed red pepper, tomatoes, stock, and beans. Bring to a boil. Reduce the heat to medium-low. Simmer until the flavors are blended, about 1 hour. Stir in the spinach and cook until tender, about 5 minutes.
Adjust taste with salt and pepper.
Serve topped with Parmesan.