Warm oil in a large saucepan. Add onion and cook until transparent, around 10 minutes.
Add drained can of beans, water, carrots, and celery. Bring to boil, cover, and simmer for 1 hour.
Add potato, tomatoes, tomato paste, salt, and pepper. Cover and simmer for 30 minutes.
Add green beans and zucchini and simmer, uncovered, for 15 minutes.
Add shredded cabbage (or bok choy) and pasta. Simmer until pasta is tender, around 15 minutes.
Serve in a bowl with freshly grated parmesan.