Heat the olive oil in a large, deep skillet or pot over medium heat. Add the onions, cook 3-5 minutes, until they start to soften. Stir frequently.
Add the garlic and oregano and cook 1 minute, stirring frequently.
Add the sausage to the pan and raise the heat to medium-high. Stir the sausage, breaking it up using a wooden spoon or a spatula. Cook approximately 5 minutes until the sausage is brown.
Add the chopped tomatoes and the pasta sauce to the sausage and stir well. Bring the sauce to a simmer, lower heat to medium-low and cover. Cook the tomato sauce for 30-35 minutes, keeping it at a simmer. Stir occasionally.
When the sauce is almost done, preheat oven to 350°F
Cook the spaghetti according to package directions for al dente. Remember to salt the water. Drain the pasta.
Use a large, deep and oven-proof casserole dish or baking pan. Add enough meat sauce to the bottom of the casserole dish to cover. Add a layer of spaghetti, sprinkle about ½ cup of shredded cheese, cover with sauce. Repeat, layering the spaghetti, cheese and sauce, until all of the ingredients are used up, end with the tomato sauce on top. Reserve about ½ cup of cheese to melt on top at the end.
Place the casserole dish on a baking sheet, just in case it bubbles over. Bake the spaghetti for about 30 minutes.
Remove the baked spaghetti from the oven, top with the remaining cheese. Place it back in the oven and bake for approximately 5 more minutes until the cheese melts.
Let the baked spaghetti set for a few minutes before serving.