01 - Combine warm milk and yeast in a small bowl. Let sit for 5 minutes until foamy and bubbly.
02 - Whisk together flour, sugar, and salt in a large mixing bowl until well combined.
03 - Add melted butter, eggs, vanilla, and the yeast mixture to the dry ingredients. Mix until a shaggy, sticky dough forms.
04 - Knead by hand or with a stand mixer using a dough hook for 6-8 minutes until the dough becomes smooth, elastic, and pulls away from the sides of the bowl.
05 - Place dough in a greased bowl, cover with plastic wrap or a clean towel, and let rise in a warm, draft-free area for 1 hour or until doubled in size.
06 - While dough rises, divide granulated sugar into three separate bowls. Add a few drops of purple food coloring to one bowl, green to another, and yellow to the third. Rub with your fingers until evenly colored. Set aside.
07 - Turn risen dough onto a lightly floured surface. Roll out to 1/2-inch thickness. Cut out 3-inch rounds using a donut cutter (or a glass for the outer circle and a small cutter for the center hole).
08 - Arrange donuts and donut holes on parchment-lined baking trays, leaving space between each. Cover lightly and let rise for 30 minutes until puffy.
09 - Heat vegetable oil in a large, heavy-bottomed pot or deep fryer to 350°F. Use a kitchen thermometer to ensure proper temperature.
10 - Fry donuts in batches, working in small groups to avoid overcrowding. Cook for 1-2 minutes per side until golden brown. Remove with a slotted spoon and drain on paper towels.
11 - Whisk together powdered sugar, milk, and vanilla extract until smooth and creamy. Adjust consistency with additional milk if needed.
12 - Dip the top of each warm donut into the icing, allowing excess to drip off. Immediately sprinkle with sections of purple, green, and yellow colored sugar to create the traditional Mardi Gras effect.
13 - Let glazed donuts set for 10-15 minutes until the icing firms slightly. Serve at room temperature for best texture.