Preheat oven to 400 degrees F. Place squash, cut side down, on a baking sheet. Roast until soft, about 30 minutes. Remove from oven and set aside four of the halves. Scoop flesh of the remaining two halves into a medium bowl.
Meanwhile, place potato in a small saucepan and cover with cold water. Bring to a boil, and reduce heat to a bare simmer. Cook until tender when pierced with a paring knife, 3 to 4 minutes. Drain; add potato to bowl with squash and mash with a fork until smooth. Stir in 1 tablespoon butter; season with salt and pepper.
Melt remaining tablespoon butter in a large skillet over medium heat. Add onion; saute until soft and translucent, about 5 minutes. Add celery and garlic, and cook 1 minute. Add beef and oregano, and season with salt and pepper; continue cooking, breaking up beef with a wooden spoon until well browned, about 4 minutes.
Add tomato sauce and bring to a boil. Reduce heat; simmer until most of the liquid has evaporated, about 2 minutes.
Fill each reserved squash half with about 1/2 cup beef mixture; place in a baking dish. Top each half with about 1/3 cup potato mixture and sprinkle with cheese.
Bake until mixture is heated through and tops just begin to brown, 10 to 15 minutes. Remove from oven, let sit for about 5 minutes, and then serve.