Mac and Cheese with Gruyere, Cheddar, and Bacon
6 slices bacon, cut crosswise into 1/4-inch-wide strips
½ cup chopped shallots
2 garlic cloves, finely chopped
2 tablespoons all-purpose flour
3 ½ cups whole milk, or as needed
1 ½ cups heavy cream, or as needed
1 ½ cups shredded Gruyère cheese (about 6 ounces)
1 ½ cups shredded white Cheddar cheese (about 6 ounces)
Kosher salt and freshly ground black pepper
1 pound penne
2 tablespoons unsalted butter, melted, plus butter for the baking dish
2/3 cup panko (Japanese bread crumbs)
1/3 cup freshly grated Parmesan cheese
2 tablespoons finely chopped fresh flat-leaf parsley
Heat a large heavy saucepan over medium-high heat. Add the bacon and cook, stirring often, for about 5 minutes, or until golden brown. Using a slotted spoon, transfer the bacon to paper towels to drain, leaving the drippings in the saucepan. Add the shallots to the saucepan and cook, stirring often, for about 2 minutes, or until translucent. Add the garlic and sauté for about 1 minute, or until fragrant.
Reduce the heat to medium-low, whisk in the flour, and cook, whisking, for about 1 minute. Gradually whisk in the milk and cream, then bring the sauce to a gentle simmer over medium heat and simmer, whisking often, for about 10 minutes (do not allow the sauce to boil). Reduce the heat to medium-low and gradually whisk in the Gruyère and Cheddar cheeses. Remove the pan from the heat and season the sauce to taste with salt and pepper; it will seem thin at this point.
Meanwhile, bring a large pot of salted water to a boil over high heat. Stir in the penne and cook, stirring often to prevent it from sticking together, for about 8 minutes, or until tender but still firm to the bite. Drain well.
Stir the penne into the hot cheese sauce. If the sauce becomes too thick, thin it as desired with more milk or cream. Stir in the reserved bacon. Season to taste again with salt and pepper.
Position the broiler rack about 8 inches from the heat source and preheat the broiler. Butter a 3-quart baking dish or individual crocks. Spread the penne mixture in the baking dish.
In a small bowl, toss the panko, Parmesan cheese, parsley, and melted butter to mix well. Season with salt and sprinkle evenly over the penne. Broil, watching closely, for about 2 minutes, or until the topping is golden brown. Let stand at room temperature for 5 minutes before serving.