Make the meatballs:
In a bowl, mix all meatball ingredients. Form into small balls (about 1 inch). Chill while prepping the soup.
Sauté the base:
In a large pot, heat olive oil. Sauté onion, garlic, carrots, and celery until softened (5–7 minutes).
Add cabbage and tomatoes:
Stir in chopped cabbage and crushed tomatoes. Cook for 5 minutes.
Add broth, cooked rice and seasonings:
Pour in broth, add bay leaf, thyme, salt, pepper, and optional sugar or vinegar. Bring to a simmer.
Add meatballs:
Gently drop meatballs into the simmering soup. Cover and cook for 25–30 minutes until meatballs are cooked through and flavors meld.
Taste and adjust:
Remove bay leaf. Adjust seasoning as needed.