In a large mixing bowl, whisk together the flour, sugar, baking powder, baking soda, and salt until evenly combined.
In a separate bowl, whisk the buttermilk, eggs, melted butter, and vanilla extract until smooth and well blended.
Pour the wet ingredients into the dry ingredients and gently fold with a spatula until just combined. The batter should be lumpy with some dry flour still visible — do not overmix.
Let the batter rest for 5 minutes while you preheat your griddle or large skillet over medium heat. Lightly grease with butter or oil.
Pour 1/4 cup of batter onto the hot griddle for each pancake, spacing them about 2 inches apart. Cook until bubbles form on the surface and the edges look set, about 2-3 minutes.
Flip the pancakes and cook the second side until golden brown, about 1-2 minutes more. The pancakes should spring back lightly when touched.
Transfer cooked pancakes to a plate and repeat with remaining batter, adding more butter or oil to the griddle as needed.
Serve immediately while hot, or keep warm in a 200°F oven until ready to serve.