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 uniform.
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-8 minutes until smooth, elastic, and no longer sticky. Alternatively, use a stand mixer with dough hook for 5 minutes on medium-low speed.
05 - Place dough in a lightly oiled bowl, turning to coat all sides. Cover with plastic wrap or a damp towel. Let rise in a warm, draft-free area for 60-75 minutes until doubled in size.
06 - Punch down risen dough to release air. Roll out on a floured surface to ½-inch thickness. Cut into 2-inch squares using a sharp knife or pastry cutter.
07 - Arrange squares on a parchment-lined baking sheet, leaving space between pieces. Cover loosely with plastic wrap and let rest for 20 minutes until slightly puffed.
08 - Pour vegetable oil into a deep pot or Dutch oven to a depth of 3 inches. Heat to 350°F, maintaining temperature throughout frying.
09 - Fry beignets in batches of 4-5 pieces for 1-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 completely smooth and free of lumps.
11 - Dip each warm beignet into the glaze, allowing excess to drip off. Place on a wire rack set over parchment paper for 5 minutes to set. Serve immediately while warm.