Place potatoes, celery, and carrot in a large pot and cover with water; bring to a boil. Reduce heat to medium-low and simmer until tender, about 20 minutes. Drain and transfer to a 2-quart baking dish.
Melt 3 tablespoons butter in a large skillet over medium heat; cook and stir ham, green bell pepper, and onion until vegetables are tender, about 5 minutes. Transfer ham mixture to baking dish and mix with potatoes, etc.
Melt remaining 1/4 cup butter in a clean skillet; cook and stir flour in melted butter until smooth, about 3 minutes. Gradually stir in milk and season with salt and black pepper. Bring to a boil, stirring constantly, until thickened, about 2 minutes. Add Cheddar cheese; stir until melted. Pour cheese mixture over ham and potatoes. Sprinkle with bread crumbs.
Bake in preheated oven until bubbly, 25 to 30 minutes. Allow casserole to rest for 5 to 10 minutes before serving.