- 1/4 cup vegetable oil
- 1/2 cup finely diced onion
- 1 garlic clove, minced
- 1/4 cup all-purpose flour
- 1 quart whole milk
- 1/2 teaspoon celery seeds
- 1/8 teaspoon ground mace
- 3 tablespoons Tabasco
- 1/4 teaspoon cayenne pepper
- 10 ounces extra-sharp cheddar cheese, shredded (3 cups)
- 4 ounces Muenster cheese, shredded (1 1/4 cups)
- 2 ounces Swiss cheese, shredded (3/4 cup)
- 1/4 cup cream cheese
- Freshly ground black pepper
- Butter, for the dish
- 1 pound medium pasta shells
- In a large saucepan, heat the oil until shimmering. Add the onion and cook over moderate heat until translucent, 5 minutes. Add the garlic and cook until fragrant, 1 minute. Stir in the flour to make a paste. Gradually whisk in the milk until smooth. Bring to a simmer, whisking, until the sauce thickens. Reduce the heat to low and simmer, whisking often, until no floury taste remains, 7 minutes. Add the celery seeds, mace, Tabasco and cayenne. Stir in the cheeses just until they melt. Remove from the heat and season the sauce with salt and pepper.
- Butter a large, shallow baking dish. In a large pot of boiling salted water, cook the pasta shells until almost al dente, about 4 minutes. Drain the pasta and return it to the pot. Stir in the cheese sauce until thoroughly combined. Transfer the mixture to the prepared dish and let stand for 20 minutes.
- Meanwhile, preheat the oven to 425°. Bake the pasta in the upper third of the oven for 25 minutes, until it’s bubbling and starting to brown. Turn the broiler on and broil the pasta for about 1 minute, until it’s browned and crisp on top. Let the mac and cheese rest for 10 minutes before serving.
The cheese sauce can be refrigerated overnight and reheated gently; add more milk if it is too thick.