Preheat oven to 350° and spray a 3 quart baking dish with non stick spray. Set aside.
Add one tablespoon of butter to cast iron pan or large frying pan.
Remove sausage from casing, add to pan, crumble and cook over medium heat.
Once sausage has been cooked, drain grease and leave in strainer.
Add the other tablespoon of butter to pan and saute onions and garlic scraping any brown bits off the bottom of pan. Cook until onions are translucent.
Pour diced tomatoes, tomato sauce, tomato paste, Rotel and water into pan with onions and garlic. Stir.
Sprinkle oregano, basil, garlic salt and pepper into pan, stir and simmer for about 10 minutes.
Add sausage back into pan, add cream cheese, stir and simmer for an additional 15 minutes stirring occasionally.
While preparing sausage mixture, cook pasta in a large pot according to package directions for al dente. Drain, rinse and return to pot.
Add sausage mixture to spaghetti along with 3 cups of cheese. Stir to combine.
Pour mixture into prepared baking dish and top with remaining cheese.
Cover with foil (sprayed foil with non stick spray so cheese does not stick to foil) and bake in the oven for 50 minutes or until cheese is bubbly. Remove foil and bake for 10 more minutes.
Remove from oven and enjoy!