Place all the ingredients for the meatballs in a large mixing bowl and knead well with your hands until uniformly blended. Form the meat mixture into 18-20 medium sized meatballs (an ice cream scoop really helps getting the job done!)
Heat some coconut oil in a large skillet over medium high heat. When pan is nice and hot, add the meatballs and cook until crispy and golden brown all around. You might have to work in 2 or 3 batches, depending on the size of your skillet. Don’t worry about cooking the meatballs all the way through as they will finish cooking in the oven.
While the meatballs are cooking, shred the cabbage and lay it at the bottom of a large Dutch oven or oven safe dish with fitting lid.
Arrange the meatballs over the shredded cabbage.
Add mushrooms, onions, and garlic to the pan that you used to cook the meatballs and cook for one or two minutes, just enough for the vegetables to become fragrant and wilt a little bit. Put that in the Dutch oven right over the meatballs.
Add water, vinegar, mustard and spices to the cooking pan to finish deglazing it, bring to a quick boil then pour over the reserved meat and veggies.
Add the canned tomatoes put the lid on and place that in a 350F oven for about 3½ to 4 hours, until the cabbage is nice and tender.