Preheat your Belgian waffle iron to medium-high heat according to manufacturer instructions, allowing at least 5 minutes for it to reach proper temperature.
In a large mixing bowl, whisk together the flour, sugar, baking powder, baking soda, and salt until evenly distributed.
In a separate medium bowl, whisk together the buttermilk, eggs, melted butter, and vanilla extract until smooth and well combined.
Pour the wet ingredients into the dry ingredients and gently fold with a rubber spatula until just combined. The batter should be slightly lumpy with no large pockets of dry flour visible. Let rest for 5 minutes.
Lightly brush the waffle iron with melted butter or cooking spray. Pour the recommended amount of batter for your iron size (usually ¾ to 1 cup for Belgian irons) into the center, spreading slightly with a spoon if needed.
Close the lid and cook without opening for 4-5 minutes, or until steam production slows significantly and the waffle is golden brown and crispy. The exact time depends on your iron.
Carefully remove the waffle with a fork or silicone tongs and place on a wire rack. If serving immediately, transfer to plates. If making multiple batches, keep warm in a 200°F oven on a baking sheet.
Repeat with remaining batter, brushing the iron lightly with butter between batches. Serve hot with your favorite toppings.