Preheat the oven to 400 degrees F.
Melt the butter in a large pot over medium heat. Add the onions and garlic and cook until they are softened, about 2 minutes. Whisk in the flour and cook, stirring constantly, until the mixture turns light brown, about 3 minutes. Gradually whisk in the milk. Add the paprika, nutmeg, salt, and pepper. Reduce the heat to low and cook, stirring, until the sauce is thickened, about 5 minutes. Add the cheeses and stir until they are melted. Add the macaroni and stir until the noodles are thoroughly coated. Remove from heat. Butter two 6-inch cast iron skillets or one 12-inch skillet. Transfer the macaroni mixture into the skillets. Top with the sliced tomatoes. Sprinkle the bread crumbs on top. Bake until the cheese is bubbling and golden brown, about 30 minutes. Garnish with chopped herbs.
Preheat the oven to 300 degrees F. Spread the cubes of bread on a baking sheet and toast them in the oven until golden brown, about 15 minutes.
Place the butter, garlic, and herbs in a small saucepan and heat over low heat until the butter is melted. Toss the toasted bread with the butter mixture in a large bowl and sprinkle with salt and pepper. Process the bread in 2 batches in a food processor until you have fine crumbs. Sift the crumbs through a mesh strainer and process the larger crumbs again until all are fine. (If you do not have a food processor, crush the bread on the baking sheet with a rolling pin.)
Recipe courtesy David Page and Barbara Shinn, from Recipes from Home, Artisan 2001.