Preheat oven to 325 degrees F. *If needed, grease a 3 quart baking dish with non-stick spray and set aside. If you're using an oven safe skillet, you do not need to bake it in another dish.
Bring a large pot of salted water to a boil and add in the uncooked macaroni noodles. Cook until tender, about 15 minutes, then drain. Transfer cooked noodles to a large bowl and toss with 1 tbsp of butter. Set aside.
Meanwhile dice the bacon into small pieces and cook in a large, oven safe skillet, over medium-high heat until crisp. Once crisp, remove the bacon to a paper towel lined plate and discard all but 1 tbsp of the bacon grease.
Reduce the heat to medium and add the remaining 4 tbsp of butter to the skillet with the bacon grease. Once melted, whisk in the flour, salt, garlic powder, onion powder, black pepper, cayenne pepper and rosemary and cook for 1 minute.
Slowly pour in the milk, while continuing to whisk, making the sauce smooth. Stir in the chicken bouillon until incorporated into the sauce. Don't over cook the milk mixture or the sauce can become grainy as it sits!
Remove the sauce from the heat and stir in 1½ cups of the gruyere and 1½ cups of the sharp cheddar cheese. The cheese doesn't have to melt all the way at this point. Pour the cheese sauce into the bowl with the noodles and stir to combine.
Pour the cheesy noodles either back into the oven-safe skillet or into the prepared casserole dish. Top with the remaining cheese and sprinkle the top with the crispy bacon.
Bake for 15 minutes, until cheese is bubbly throughout. Garnish with freshly cracked black pepper and enjoy!
Notes
Use caution to not over cook the cheese sauce or it can become grainy.To reheat leftover macaroni and cheese add a dash of heavy cream and pop in the microwave until heated through.