1/4 cup vegetable oil
1/2 cup finely diced onion
1 garlic clove, minced
1/4 cup all-purpose flour
1 quart milk
1/2 teaspoon celery seeds
1/8 teaspoon mace
3 tablespoons Tabasco
1/4 teaspoon cayenne pepper
10 ounces cheddar cheese, shredded (I used white)
4 ounces Muenster cheese, shredded
2 ounces Swiss cheese, shredded
1/4 cup cream cheese
salt and freshly ground black pepper
butter, for the dish
1 pound medium pasta shells
1. In a large saucepan, heat the oil until simmering. 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 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.
2. 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.
3. 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 1 minute, until it's browned and crisp on top. Let the mac and cheese rest for 10 minutes before serving.