Preheat your oven to 400°F. While it heats, cut the spaghetti squash in half lengthwise and scoop out the seeds with a spoon. Place the squash halves cut-side down on a baking sheet and slide into the oven. This will take about 35 minutes total—the squash will be perfectly tender when a fork easily pierces the flesh. Starting the squash first ensures it finishes cooking at the right time to come together with everything else.
Heat the oil in a large skillet over medium heat. Once shimmering, add the diced red onion and minced garlic, cooking for 5-7 minutes until softened and fragrant. This aromatics foundation develops the flavor base for your sauce. I find that taking time to properly soften the onions and garlic makes a noticeable difference in the final depth of flavor, so don't rush this step.
Increase heat to medium-high and add the ground beef to the pan with the softened aromatics. Break it into small pieces and cook for about 5 minutes, stirring occasionally, until the meat is browned and no longer pink. Once browned, add the tomato paste and cook for 1 minute to deepen its flavor, then add the tomato sauce, coconut aminos, apple cider vinegar, Dijon mustard, hot sauce, chili powder, red pepper flakes, and sea salt. Stir everything together and bring the mixture to a gentle boil.
Lower the heat under the sloppy joe mixture to medium-low and let it simmer gently while you prepare the broccoli. In a bowl, toss the broccoli florets with olive oil and sea salt, then spread them on a separate baking sheet. When your spaghetti squash has about 13-14 minutes remaining (around the 21-22 minute mark), carefully place the broccoli sheet into the oven alongside it. The sloppy joe sauce will continue to reduce and thicken while everything roasts together—this timing ensures all three components finish at almost the same moment.
When the squash is tender (the fork should slide through easily) and the broccoli is golden and crispy, remove both from the oven. Let the squash cool for a minute or two—I always let it rest briefly so it's cool enough to handle without burning my fingers. Using a fork, scrape the flesh of the squash to create the characteristic strands, working from the inside toward the skin. Divide the squash strands and broccoli florets among serving plates or bowls, then ladle the warm sloppy joe mixture generously over the top. The saucy, seasoned meat will cling beautifully to the tender squash strands.