Preheat oven to 350° F/175C. Line 12 cups in a ½ c/120ml capacity muffin pan with paper liners.
Make streusel:
Combine all ingredients in a small bowl and mix with a spoon or your hands until it has a crumbly consistency.
Make batter:
Peel and grate sweet potato, set aside.
Combine dry ingredients (flour, baking powder, baking soda, spices, salt) in a large bowl. Whisk to evenly distribute everything.
In a separate large bowl, whisk together sugar and eggs. Add oil, milk, and vinegar. Whisk until smooth.
Add dry ingredients to the wet, stirring until mostly incorporated but some flour is still visible.
Add the grated sweet potato and mix only until everything is incorporated, some lumps may remain. Over mixing will result in tough muffins.
Scoop batter into paper liners, filling to about ½” from the top.
Scoop about 1 tbsp of streusel mixture on the top of each muffin.
Bake at 350° F for 25-27 minutes until a cake tester comes out clean and the muffins are lightly browned.
Allow to cool for at least 20 minutes before serving.
Best served warm and the same day. If storing, keep in an airtight container in the fridge for no more than 2 days.