Light grill or oven and set up for indirect heat, establishing temperature at 450°F.
In medium saucepan, bring 4-6 cups water to a boil along with 1 tbsp of salt. Add macaroni and boil for about 6-7 minutes. Stain macaroni and set aside.
Shred both cheddar and Gruyere cheeses.
In a medium saucepan over medium heat, add butter and let it melt. Once melted, whisk in flour to make a roux, cooking over medium heat for 3 minutes.
Add milk and cream to the roux, and continue whisking.
Add in cayenne pepper, salt, pepper, and garlic powder. Cook for additional 5 minutes.
Remove from heat, and mix in shredded cheeses—reserving 1/2 cup of each cheese for later.
Pour strained macaroni into baking dish, folding in cheese sauce.
Top with remaining cheese.
Place in preheated grill or oven, using indirect heat for 3-5 minutes.