Preheat the oven to 425 degrees F. Cut the spaghetti squash in half length-wise and scoop out the seeds. Drizzle with olive oil, salt and pepper. Place the squash cut-side-down on a rimmed baking sheet and roast for 45 minutes.
Meanwhile, place the beans, 1 onion, 1 carrot, and 3 cloves of garlic in a food processor. Puree until completely smooth.
Place the bean puree in a large bowl with the ground meats, red pepper, 1 1/2 teaspoon salt, eggs and 3 tablespoons parsley. Mix by hand until the ground meat is completely blended.
Shape into 8 large meatballs and place on a parchment paper lined, rimmed, cookie sheet. Bake for 30 minutes.
While the squash and meatballs are baking, add the rest of the onion, carrots and garlic to the food processor. Pulse until chopped well, but not pureed.
Heat 2 tablespoons of oil in a large sauce pot over medium-high heat. Add the chopped veggies and sauté for 5 minutes to soften. Then add all the canned tomatoes, 1 teaspoon salt, 1/2 teaspoon pepper, remaining parsley and basil. Bring to a simmer and reduce heat. Cover (mostly) and continue to simmer until the meatballs are done baking.
Remove the meatballs from the oven and carefully transfer them into the tomato sauce. Add the balsamic vinegar and simmer another 15 minutes so the flavors meld.
When the squash has cooled a bit, use a fork to scrape the flesh into “spaghetti” strands and place on plates. Top each pile of spaghetti squash with tomato sauce and meatballs.