Preheat oven to 350℉ degrees.
Bring a large pot of water to a boil. Once boiling add about 1 tablespoon of salt. Stir. Pour in the elbow noodles. Let cook for several minutes, stirring occasionally. Cook until the noodles are just before al dente.
Pour the noodles into a strainer in the sink, run cold water over the noodles to stop further cooking. Pour noodles back into the pot and set aside. If noodles start sticking you can drizzle a small amount of olive oil.
In a large skillet or pot, melt the butter over medium heat.
Whisk in the flour and seasonings (salt, pepper, ground mustard, garlic powder and onion powder.)
Let cook for 2-3 minutes to cook the flour.
Whisk in the milk. Continue stirring while cooking over medium heat until the mixture is thick. (5-7 minutes)
Remove from heat and add in 2 cups of shredded cheese and the cream cheese.
Stir while the cheeses melt.
Add the macaroni noodles to the sauce. Stir to combine.
Pour into a baking dish. Top with remaining 1 cup of cheese.
Bake at 350 for 10 minutes, until sauce is bubbling.
Turn on broiler and broil the macaroni and cheese for another 2-3 minutes until the top is golden brown and crispy.
Remove from the oven. Let cool briefly before serving.
Serve warm and enjoy!