Preheat the oven to 375F degrees.
Line a large baking sheet with foil. Use 1 tablespoon of the olive oil to brush the inside of each spaghetti squash half, then sprinkle with the salt and pepper. Turn the squash halves over, cut side down, onto the baking sheet.
Roast the spaghetti squash at 375F for 45 minutes until the squash is fork tender.
As the spaghetti squash is baking, heat the remaining 1 tablespoon of olive oil in a large skillet over medium heat. Add the diced onion and sauté until softened. Add the minced garlic and sauté for 1 minute.
Crumble the ground beef into the pan and cook until fully browned. Drain off any excess fat.
Reserve 1 cup of the spaghetti sauce and set aside. Add the remaining spaghetti sauce to the ground beef mixture; cover and simmer on low for 10 minutes.
After the spaghetti squash is finished baking, carefully turn them over with a spatula and use a fork to fluff up the “spaghetti” in each shell. Add ¼ cup of the spaghetti sauce to each half of the squash and stir into the squash with a fork.
Sprinkle each spaghetti squash half with the freshly grated parmesan cheese. Scoop the meat sauce onto each spaghetti squash half, then top with the shredded mozzarella cheese.
Bake the stuffed spaghetti squash at 375F for 15 minutes, or until the cheese is melted.
Cool the spaghetti squash halves slightly, then serve hot.