Heat oven to 375°F. Butter 3 to 4-quart casserole or baking dish, or two 2-quart baking dishes.
Tear bread into pieces; pulse in food processor to form coarse crumbs. Place in bowl.
Melt butter in large pot. Remove 3 tablespoons of butter and mix with breadcrumbs. Set aside. Set aside pot with remaining melted butter.
Bring another large pot of salted water to boil over high heat. Add pasta and cook according to package directions, removing from heat before it is completely al dente. Before draining, remove 1/2 cup of cooking water; set aside.
Meanwhile, add flour to pot with remaining 5 tablespoons melted butter. Whisk occasionally 3 minutes until flour starts to color. Gradually whisk in milk. Increase heat to medium-high and bring to simmer, whisking frequently. Reduce to medium-low; simmer about 4 minutes, until the mixture begins to thicken. Whisk in cream, Dijon mustard, cayenne and black pepper. Add cheeses by the handful, whisking frequently, until cheeses melt and sauce is smooth and creamy. Whisk in reserved cooking water; add salt if needed.
Add drained pasta to sauce, stirring until everything is well coated. (There will be quite a lot of sauce, but some of it will be absorbed by the pasta as it bakes.) Pour pasta mixture into prepared baking dish(es) and top with buttered breadcrumbs.
Bake 30 minutes or until top is browned and sauce is bubbling around edges. Remove; let stand 5 to 10 minutes before serving.
If your bread isn’t stale, you can toast it in a 300°F oven for 4 or 5 minutes until it dries out a bit. Let cool completely, then process in food processor.