Preheat oven to 375°. Cut squash in half lengthwise; scoop out seeds. Place squash cut side down in a baking dish. Fill dish with 1/2 in. hot water. Bake, uncovered, until tender, 30-40 minutes. Reduce oven setting to 350°.
When cool enough to handle, scoop out flesh, separating strands with a fork; set squash shells and flesh aside.
In a large skillet, cook beef, onion and green pepper over medium-heat until meat is no longer pink, 3-4 minutes, breaking up beef into crumbles; drain. Add mushrooms, garlic, basil, oregano, salt and pepper; cook and stir 2 minutes. Add tomatoes; cook and stir 2 minutes longer. Stir in squash.
Cook, uncovered, until liquid has evaporated, about 10 minutes. Fill shells; place in shallow baking dish.
Bake, uncovered, for 15 minutes. Sprinkle with cheese; bake until cheese is melted, about 5 minutes longer. If desired, top with basil.