Heat the oven to 375°F. Arrange the bread cut side up on a foil-lined baking sheet. Brush it with the butter. Peel and chop the garlic. Divide the garlic in half and sprinkle one-half with a generous pinch of salt. Using the flat side of a chef’s knife, mince and mash the garlic and salt together to form a smooth paste. Spread each piece of bread evenly with garlic paste and season with salt and pepper. Bake until light golden-brown and crisp, 12 to 14 minutes. Cut each piece in half to make 4 pieces total, and cover with foil to keep warm.
Meanwhile, arrange the spaghetti squash in a single layer in the bottom of a large, wide pot. (Don’t worry if the squash halves don’t lie completely flat in the pot.) Add 1/2 inch of water, cover the pot, and bring to a boil. Reduce to a simmer and cook until the squash is tender enough to shred when raked with a fork but still somewhat crisp, 15 to 20 minutes. Transfer the squash to a plate and set aside until cool enough to handle.
While the squash cooks, heat the oil in a 12-inch skillet over medium-high heat. Add the beef, the remaining chopped garlic, onion, 1/2 tsp. salt, and 1/4 tsp. pepper; cook, stirring to break up the meat, until just cooked through, 5 to 6 minutes. Drain and discard the fat if necessary. Add the tomatoes, basil, and 1/4 cup water; stir well and bring to a boil. Reduce the heat to medium low and simmer for 10 minutes. Season to taste with salt and pepper.
With a fork, rake the squash flesh into strands, transfer to plates, and season to taste with salt. Ladle the beef ragù over the squash and garnish with the Parmigiano. Serve with the garlic bread.