Whisk together the flour, baking powder, and salt in a bowl.
In a separate bowl, whisk together the milk, egg, melted butter, sugar, and vanilla extract.
Pour the bowl of wet ingredients into the bowl of dry ingredients and stir just until combined. DO NOT overmix. The mixture should be thick, but still pourable, and a little bit lumpy. If it's not pourable, add an additional tablespoon or two of milk until it is thick, but pourable. Let the batter rest for 15 minutes.
Heat a large skillet or griddle over medium. Once hot add enough cooking oil to coat the surface (I use about ½ tsp per pancake). Add the batter to the hot griddle, ¼ cup at a time. Use the back of the measuring cup to spread the batter into a 4.5-inch diameter circle.
Cook until bubbles form over the surface and begin to pop, the edges look dry, and the bottom is golden brown (about 60 seconds). Flip them and cook on the second side until golden brown (about 30 seconds).
Repeat with the remaining batter, adding more oil to the skillet between batches or as needed, until all the pancakes have been cooked. Keep them warm on a plate under a towel or in a warm oven until all of the remaining batter has been cooked. Serve warm with your favorite toppings!
*You can substitute up to half of the all-purpose flour with whole wheat flour without making the batter too dense.**The exact amount of milk needed may vary slightly depending on how the flour is measured. The goal is to make the batter thick but pourable. Start with ¾ cup and add a tablespoon at a time until it reaches the right consistency. You can use non-dairy milk if preferred.***Using oil to fry the pancakes gives them nice crispy edges and prevents them from sticking to the pan. Butter is also nice, but can tend to burn at the temperatures needed to cook the pancakes.