Follow the instructions on the package to cook the elbow macaroni until it's al dente. Drain the cooked macaroni and set it aside.
In a large saucepan, melt the butter over medium heat. Once melted, add the minced garlic and cook for about a minute until fragrant. Then, add the all-purpose flour and whisk continuously for about two minutes until it forms a smooth paste.
Gradually pour in the whole milk while whisking continuously to prevent lumps. Once the milk is fully incorporated, add the shredded cheddar cheese and grated Gruyere cheese. Stir until the cheese melts and the sauce becomes thick and creamy.
Add the sour cream, grated Parmesan cheese, garlic powder, onion powder, paprika, chopped fresh parsley, salt, and pepper to the cheese sauce. Stir well until all the ingredients are evenly incorporated and the sauce is flavorful.
Add the cooked macaroni to the cheese sauce and gently fold them together until the macaroni is completely coated with the sauce. Ensure that every noodle is well-covered for maximum flavor.
Preheat your oven to 350°F (175°C).
Transfer the mac and cheese mixture into a greased baking dish, spreading it out evenly. For an extra cheesy topping, sprinkle some additional shredded cheddar cheese on top. Bake in the preheated oven for approximately 25 minutes or until the top turns golden brown and the edges start to bubble.
Once baked, remove the mac and cheese from the oven and let it cool for a few minutes. Serve it hot and savor every creamy and cheesy bite. This dish pairs perfectly with a fresh salad or as a side to your favorite main course.