In a large bowl, whisk together the flour, baking powder, salt, and sugar.
In a separate bowl, whisk the eggs, ricotta cheese, vanilla extract, and milk until smooth.
Gradually add the wet ingredients to the dry ingredients, mixing until just combined. The batter will be thick and sticky.
Heat about 2 inches of vegetable oil in a deep, heavy-bottomed pot or skillet to 350°F (175°C). Use a candy thermometer to maintain the temperature.
Using a small cookie scoop or two spoons, drop tablespoon-sized portions of the batter into the hot oil. Do not overcrowd the pot. Fry for 2-3 minutes per side, or until golden brown and puffed. Use a slotted spoon to turn them as they cook.
Remove the zeppole with a slotted spoon and drain them on a plate lined with paper towels.
Once slightly cooled, dust the zeppole generously with powdered sugar.
Serve warm, with optional sides like chocolate sauce, honey, or fruit preserves for dipping.