Homemade Tomato Sauce:
Heat the olive oil over medium-high heat in a pan with high sides. Add the onion, pepper and garlic and sauté for 5 minutes, until soft and beginning to brown. Add the beef stock and scrape the bottom of the pan to pick up any bits from the cooked vegetables. Add the crushed and diced tomatoes, balsamic vinegar and spices and bring the sauce to a boil. Lower the temperature to medium-low and simmer the sauce uncovered for 15 minutes.
While the sauce is simmering, prepare the spaghetti squash and meatballs. Slice the spaghetti squash in half width-wise and scoop out and discard the seeds. Place half of the squash in the center of the slow cooker, cut side down. If you have a small spaghetti squash or a huge slow cooker, you can add both halves but only half of my squash fit. Make sure you have room for the sauce and meatballs.
Place the ground beef in a bowl. Chop the spinach in a food processor and add it to the bowl. Stir the spinach and meat together with the onion, egg and spices.
Pour the tomato sauce into the slow cooker, around the spaghetti squash. Roll the ground meat mixture into balls and place them on the sauce. You might have to squish them in a bit around the squash.
Cover the slow cooker and cook the meatballs and squash on high for an hour and a half. Remove the spaghetti squash and scoop out the center with a spoon. Place the squash onto a serving dish, cover it in the homemade tomato sauce then top with the spinach meatballs.