Boil potatoes in salted water until tender; drain. Place in large bowl and mash with 2 tablespoons butter, milk, and chicken stock.
Preheat oven to 350 degrees.
While potatoes are cooking, in a large skillet over medium high heat, melt remaining 3 tablespoons butter and sauté onion and celery until tender, about 5 minutes. Season with salt and pepper.
Reduce heat to medium and stir in bread cubes, parsley, and sage. Cook, stirring frequently, 4-5 minutes.
Remove from heat and fold in prepared mashed potatoes. (Optional: you can also fold in 1 beaten egg at this step, if desired).
Grease a medium sized (9×9-inch) casserole dish and pour filling mixture into it.
Bake, uncovered for 50 minutes or until the top is slightly browned and crispy.
Serve and enjoy!