01 - Whisk together flour, yeast, sugar, and salt in a large mixing bowl until thoroughly combined.
02 - In a separate bowl, whisk buttermilk, milk, eggs, and melted butter until fully incorporated.
03 - Create a well in the center of dry ingredients. Pour wet mixture into the well and stir with a wooden spoon until a shaggy, sticky dough forms.
04 - Turn dough onto a lightly floured surface. Knead for 6 to 8 minutes, adding minimal flour as needed, until smooth and elastic. Alternatively, use a stand mixer with dough hook for 5 minutes on medium-low speed.
05 - Place dough in a lightly oiled bowl, turning once to coat. Cover with plastic wrap or a damp towel. Let rise in a warm, draft-free area for 60 to 75 minutes until doubled in size.
06 - Punch down risen dough to release air. Roll out on a floured surface to ½-inch thickness. Using a sharp knife or pastry cutter, cut into 2-inch squares.
07 - Arrange cut squares on a parchment-lined baking sheet, leaving space between pieces. Cover loosely with plastic wrap and let rest at room temperature for 20 minutes until slightly puffed.
08 - Pour vegetable oil into a deep pot or Dutch oven, filling 3 to 4 inches deep. Heat to 350°F, maintaining temperature throughout frying.
09 - Fry beignets in batches of 4 to 6 pieces for 1 to 2 minutes per side until golden brown and puffed. Remove with a slotted spoon and drain on paper towels.
10 - While beignets fry, whisk powdered sugar, milk, and vanilla extract in a medium bowl until smooth and pourable.
11 - Working while beignets are still warm, dip each square into glaze, allowing excess to drip off. Place on a wire rack set over parchment paper for 5 minutes until glaze sets. Serve warm.