Preheat your oven to 375°F (190°C) and line a muffin tin with paper liners.
In a large mixing bowl, whisk together the flour, sugar, baking powder, baking soda, and salt.
In another bowl, combine the cranberries with a tablespoon of the dry mixture to coat them well.
In a separate bowl, mix together the buttermilk, oil, eggs, vanilla extract, and orange zest.
Gently fold the wet ingredients into the dry ingredients until just combined. Add the cranberries.
In a small bowl, prepare the streusel by combining oats, brown sugar, cinnamon, and diced cold butter.
Scoop the muffin batter into the lined muffin tin, filling each cup about two-thirds full. Top with streusel mixture.
Bake in the preheated oven for 20-25 minutes, or until a toothpick inserted into the center comes out clean.
Let the muffins cool in the tin for 5 minutes before transferring to a wire rack to cool completely.