Heat half the oil in a stock pot or large saucepan over high heat. Cook the beef in batches, stirring often, for 2-3 minutes, until browned. Transfer the beef to a plate.
Heat the remaining oil in the pot and cook the leek and garlic over low heat for 3-5 minutes, until soft.
Add the carrot and celery to the pot, then add the beef, tomatoes, stock, bay leaf and 2 cups water. Bring to a boil, then reduce the heat and simmer for 1 hour, until the beef and vegetables are tender. Add more water if the soup is too thick.
Stir in the zucchini and cabbage, and cook for 5 minutes, until the vegetables are tender. Discard the bay leaf.
Sprinkle the soup with the chopped parsley. Ladle into four bowls to serve.
Each serving provides 864 kJ, 206 kcal, 22 g protein, 9 g fat (2g saturated fat), 10 g carbohydrate, 5 g fibre and 665 mg sodium.