Bring a large pot of salted water to a boil. Add the 8 ounces of elbow macaroni and cook according to the package directions until al dente (about 7-8 minutes). Drain and set aside.
In a large saucepan over medium heat, melt 4 tablespoons of unsalted butter. Whisk in 2 tablespoons of all-purpose flour and cook for about 2 minutes to form a smooth roux.
Add 2 cloves of minced garlic to the roux and cook for 30 seconds until fragrant. Slowly pour in 2 cups of milk, whisking constantly to prevent lumps. Cook until sauce thickens, about 5-7 minutes.
Reduce heat to low. Stir in 1/2 teaspoon onion powder, 1/4 teaspoon cayenne pepper, salt, and pepper to taste. Gradually add shredded white cheddar and mozzarella, stirring until melted and smooth.
Add cooked elbow macaroni to the cheese sauce, folding gently to coat all pasta pieces evenly.
In a small bowl, mix 1/2 cup breadcrumbs with a little melted butter if desired. Sprinkle the breadcrumbs evenly over the mac and cheese in the baking dish.
Preheat oven to 350°F (175°C). Transfer mac and cheese to a greased casserole dish if needed. Bake uncovered for 20-25 minutes until the top is golden brown and crispy.
Remove from oven. Sprinkle 2 tablespoons of chopped fresh parsley over the top. Serve hot and enjoy!