In a large pot, heat olive oil or butter over medium heat. Add the Italian sausage, break it up with a spoon, and cook for 5 to 7 minutes until browned and cooked through. Remove the sausage from the pot and set aside.
In the same pot, add the onion, garlic, carrots if using, and celery. Sauté until the onion is translucent and the vegetables begin to soften.
Stir in the chopped cabbage and cook for about 5 minutes, until it starts to soften.
Pour in the diced tomatoes with their juice, tomato sauce, tomato paste, and broth. Stir everything together until combined.
Add dried oregano, dried thyme, salt, and black pepper. Bring the soup to a boil, then reduce the heat and simmer for about 30 minutes, until the vegetables are tender.
Add the cooked Italian sausage back into the pot during the last 10 minutes of cooking so it heats through and blends into the soup.
Taste and adjust seasoning if needed. Serve hot.