Heat the oven to 350 F and lightly grease a 2 1/2 to 3-quart baking dish.
Put 3 quarts of water in a large saucepan with 1 tablespoon of kosher salt. Place the saucepan over high heat and bring to a boil. Add the spaghetti and bring back to a boil. Reduce the heat to medium and boil following the package directions for al dente pasta. Drain the spaghetti.
Meanwhile, heat the olive oil in a deep skillet or Dutch oven over medium-high heat. Add the ground beef and let it cook, undisturbed, for 4 to 5 minutes, or until a brown crust is formed.
Break the beef up, add the onions, and cook, stirring, for about 4 minutes longer. Add the garlic and cook for another minute.
Add the cream cheese to the beef mixture and cook until well combined.
Add the marinara sauce and oregano and bring to a simmer; simmer for 2 minutes. Add half of the mozzarella cheese and the drained pasta.
Turn the mixture into the baking dish and top with the Parmesan cheese and remaining mozzarella cheese.
Bake for 30 minutes, until the filling is bubbling and the topping is browned.