Preheat your oven to 350 degrees F and line a muffin tin with liners.
To make the topping, In a small bowl whisk together the sugar and flour.
Add the butter and use a fork to mix the mixture together until it’s crumbly.
To make the filling, in a medium mixing bowl use a hand mixer to mix all the ingredients together until well combined.
To make the muffins, In a small mixing bowl whisk together the flour, baking powder, cinnamon, and salt.
In a separate large bowl, add the sugar, sour cream, egg, milk, and vanilla extract.
Use a hand mixer to mix until well combined. Pour the melted butter over the top and mix until well combined.
Add the dry ingredients and mix until just combined.
Add about 2-3 teaspoons of the batter in each muffin liner followed by about a tablespoon of the cream cheese mixture. Tap the muffin tin on a counter to help settle the mixtures so there’s not air inside.
Add another 2-3 teaspoons of batter on top followed by sprinkling the topping over the top and tap again. The liners will be mostly full.
Bake for about 18-21 minutes or until an inserted toothpick comes out with a few moist crumbs.
Remove from the oven and let the muffins cool for about 5 minutes in the tin and then remove to continue cooling on a wire cooling rack.
Serve warm or cooled.