There are loads of ways to make macaroni and cheese, and I make no judgment if you find yourself reaching for a box with a silver packet of dried dairy to satisfy your need more or less instantly. I will say, however–again without judgment–that this recipe is easy and far more satisfying. The onion and cayenne add another layer of flavor and keep this dish from becoming a heavy, gloppy mound of melted cheese (not that there’s anything wrong with that). If I’m really seeking comfort via cooking, I’ve been known to get this little party started with some savory extra flavor: Chop up 4 or 5 slices of bacon and saute them; then remove the browned meat and discard all but 1 tablespoon of rendered fat. Add 5 tablespoons butter to the pan; then saute the diced onion and continue with the recipe below. Mix the reserved cooked bacon in with the cheeses.
Bring a large pot of salted water to a boil. Cook macaroni about 2 minutes less than package instructions indicate, so that it still has a slight crunch to it. Drain and set aside. Butter a 9x13-inch casserole pan. Heat oven to 350 degrees. In a large saucepan over medium heat, melt 6 tablespoons butter and cook onion gently until softened, about 5 minutes. Reduce heat to medium-low. Whisk in flour and cayenne to form a thick paste. Cook, whisking continuously, about 2 minutes. Whisk in milk until smooth, and cook, whisking occasion-ally, until thickened and bubbly. Whisk in heavy cream. Whisk in cheeses. Season to taste with salt and pepper. Add cooked macaroni and stir well to coat.
Pour into prepared baking dish. Sprinkle with bread crumbs. Bake 20 minutes or until top is lightly browned. Let rest 5 minutes before serving.