This Jewish bread often eaten on holidays and shabbat is almost as fun to make as it is to eat it.
Butter a large bowl; set aside. Stir all remaining ingredients, except the egg for egg wash and the butter for brushing, in a large bowl until well combined. Turn out dough onto a lightly floured work surface; knead dough, adding flour if needed, until smooth and pliable, about 15 minutes.
Transfer dough to buttered bowl; brush top with 1 tablespoon melted butter. Loosely cover with plastic wrap. Let dough rise in a warm place until almost doubled in bulk, about 1 1/2 hours.
Turn out dough onto a lightly floured work surface; knead 5 minutes, then return to bowl. Brush top with remaining tablespoon melted butter, and loosely cover with plastic wrap. Let dough rise again until doubled in bulk, about 1 hour more.
Preheat oven to 375 degrees. Divide dough into three equal pieces. Roll each piece into a ball, and loosely cover each ball with buttered plastic wrap. Let rest 20 minutes.
Roll each ball into a 12-inch-long log, leaving the middle a little thicker than the ends. Lay logs side by side lengthwise; pinch together ends farthest from you, then tightly braid strands, pulling them as you go. Tuck ends of braid underneath. Transfer to a buttered baking sheet, and loosely cover with buttered plastic wrap. Let dough rise until almost doubled in bulk, about 45 minutes.
Brush dough lightly with egg wash. Bake until golden brown and firm and an instant-read thermometer inserted into bottom registers 180 degrees and comes out clean, 35 to 40 minutes. If challah browns too quickly, loosely tent with foil. Immediately transfer to a wire rack; let cool at least 45 minutes.
All ingredients except milk and water should be at room temperature. This bread can be stored in a resealable plastic bag at room temperature for up to two days.