Preheat oven to 350°F. Lightly grease a 9x13-inch baking dish and set aside.
Cook egg noodles according to package directions just until al dente. Drain and set aside.
While the noodles are cooking, add ground beef and diced onion to a large skillet over medium-high heat. Cook until the beef is browned and the onion is tender, breaking the meat apart as it cooks. Drain excess grease if necessary.
Add minced garlic, garlic powder, onion powder, Italian seasoning, smoked paprika, salt and pepper. Cook for about 30 seconds, stirring until fragrant.
Stir in Worcestershire sauce, tomato sauce and a pinch of sugar. Reduce heat and simmer for 5-7 minutes, allowing the flavors to come together.
In a large bowl, combine softened cream cheese and sour cream until smooth. Add the drained egg noodles and stir until evenly coated.
Spread half of the creamy noodles into the bottom of the prepared baking dish.
Spoon half of the meat sauce over the noodles. Sprinkle with 1 cup Colby Jack and ½ cup cheddar cheese.
Add the remaining creamy noodles, followed by the remaining meat sauce.
Top with the remaining 1 cup Colby Jack, ½ cup cheddar and the Parmesan cheese.
Cover loosely with foil and bake for 20 minutes. Remove foil and bake for another 10-15 minutes, or until the casserole is hot and bubbly and the cheese is completely melted.
Allow the casserole to rest for 5-10 minutes before serving.
Notes
Don’t overcook the noodles: Cook the egg noodles just until al dente so they don’t become mushy while the casserole bakes.
Soften the cream cheese: Let the cream cheese come to room temperature before mixing it with the sour cream. This helps create a smooth, creamy coating for the noodles.
Drain excess grease: If your ground beef releases a lot of grease, drain it before adding the seasonings and tomato sauce so the casserole doesn’t turn out oily.
Don’t skip the simmer: Letting the meat sauce simmer for a few minutes gives the seasonings time to blend and helps thicken the sauce slightly.
Layer everything evenly: Spread the noodles, meat sauce and cheese all the way to the edges so every serving gets a little bit of each layer.
Let it rest before serving: Allow the casserole to sit for 5-10 minutes after baking. This gives the layers time to settle and makes it easier to scoop and serve.