Preheat oven to 375 degrees F (190 degrees C). Spray a baking sheet and a 9-inch square baking dish with cooking spray.
Pierce the squash halves with a fork and arrange, cut-side down, on the prepared baking sheet.
Bake squash in the preheated oven until a knife easily slices into the flesh, about 1 hour 20 minutes. Remove squash from oven and cool until cool enough to handle, at least 15 minutes.
Place bacon in a large skillet or Dutch oven; cook and stir over medium-high heat until evenly browned, about 10 minutes. Remove bacon with a slotted spoon and drain on a paper towel-lined plate, reserving about 1 tablespoon drippings in the skillet. If the drippings don't equal 1 tablespoon, add olive oil to the skillet and heat over medium heat.
Cook and stir onion and garlic in the bacon drippings over medium heat until golden brown, 10 to 15 minutes; season with salt.
Slowly pour wine over the onion mixture and bring to a boil while scraping the browned bits of food off of the bottom of the skillet with a wooden spoon; add tomatoes and Italian seasoning, Season tomato mixture with black pepper. Cook and stir tomato mixture over medium-high heat until sauce is thickened, about 5 minutes.
Shred the spaghetti squash meat using a fork, discarding the peel. Stir squash meat into tomato sauce until evenly incorporated; spoon into the prepared baking dish. Sprinkle mozzarella cheese and Parmesan cheese over squash mixture.
Bake in the preheated oven until cheese is melted and browned, 20 to 30 minutes. Top cheese layer with bacon.