For Sauce: In a saucepan melt two tablespoons of butter over moderate heat and cook the onions until soft and golden brown. In a heavy saucepan melt the remaining butter over moderate heat, whisk in the flour, and cook the roux, whisking, for 3 minutes. Add the milk in a stream, continuing to whisk while bringing the sauce to a boil for 1 minute. Season with salt and pepper and reduce heat to low. Cook 15 minutes stirring constantly.
In a large buttered baking dish, at least 2 1/2-inches deep, spread a little of the white sauce over the bottom of the dish and then arrange potato slices in a single layer, slightly overlapping. Spread the onions over the potatoes and top with the celery root. Spread more sauce over the celery root and sprinkle with the Cheddar. Arrange the ham slices and continue to layer the remaining sauce, potatoes, onions, celery root, ham, Cheddar in the same manner ending with a layer of potatoes and sauce on top. Sprinkle the top with the remaining bread crumbs and Cheddar and cover with aluminum foil. Bake in a preheated 400 Degree oven for 20 minutes. Remove foil and continue to bake for 30-35 minutes more, or until the potatoes are tender and the top is golden brown.
Recipe courtesy of Gourmet Magazine