In a large pan (big enough for all ingredients to simmer later), brown the ground meat in batches and set aside. Drain / set out on paper towels to absorb excess fat if needed.
Saute onions, peppers and carrots in a little oil added back to that same pan. Once the vegetables have softened, add the tomatoes and their juices to the pan. Bring to a simmer.
Add the browned meat, mushrooms, Italian seasoning, garlic powder, and both red & black peppers. Bring back to a gentle simmer, covering with a lid but allowing room for steam to escape.
Continue to simmer for at least 45 minutes or up to 3 hours on low, adding additional broth as needed.
For the spaghetti strands:
Follow steps 1 – 3 above. When all ingredients except the optional ones have been added and while the sauce is simmering, preheat your oven to 375F.
Line a baking tray. Cut the squash in half on the shortest side NOT lengthwise, for longer noodles. Spread the cut sides with a little oil to prevent sticking, then lay them cut side down on the baking tray.
Roast for 30 – 45 minutes, until the edges have begun to very slightly caramelize and the squash “threads” easily with a fork.
To thread the squash while still hot, place it in a container which will hold it upright while you remove the strands (see above picture).
Lay the strands out on a clean towel / paper towels or in a colander for a few minutes before plating to let any excess moisture drain off and prevent the sauce being diluted.
Plate the spaghetti strands and top with sauce. Devour immediately!