1 ½ cups Gruyere cheese, shredded (reserve ½ Cup for topping)
Preheat oven to 450°F. Spray a casserole dish with nonstick spray.
Bring a large pot of water to a rolling boil. Drop pasta in and boil for 7-9 minutes or until al dente. Drain pasta and set aside.
Cook bacon on low heat until fat has rendered and bacon is crispy. Set bacon on a paper towel-lined plate and crumble when cooled.
Sauté diced apple in bacon fat for 5-7 minutes or until tender. Transfer apple to a small bowl and set aside.
In a large sauté pan, melt ¼ cup butter on medium heat. Add flour to melted butter and cook for two minutes, whisking occasionally. Add in minced garlic, rosemary, salt, pepper, and onion powder. Whisk to avoid burning.
Add milk to butter/flour mixture and turn heat up to medium-high. Whisk mixture occasionally for 3-4 minutes or until boiling and the mixture has thickened.
Remove milk mixture from heat and whisk in one cup each of Gouda, Fontina and Gruyere cheese until melted. Stir in apples and crumbled bacon. Stir cheese sauce into macaroni noodles. To the casserole dish, transfer mixture.
Sprinkle with remaining ½ cup of Gruyere and bake for 10-15 minutes or until top is golden.