First, get your oven going at 375°F and line your muffin tin with paper liners. I like to give the top of the pan a quick spritz with cooking spray too – it helps when the muffins rise over the top.
Let’s start with the cream cheese filling since it needs to be ready to go. Beat softened cream cheese (make sure it’s truly room temp or you’ll get lumps) with the sugar until it’s smooth and a bit fluffy, about 2 minutes. Mix in the egg and vanilla until just combined.
For the streusel, mix sugar, flour, and cinnamon in a small bowl. Add the cold butter cubes and work them in with your fingertips – I literally pinch and rub them into the dry ingredients until I get pieces ranging from pea-sized to small crumbs. Pop this in the fridge while you make the batter.
Now for the muffin batter: In a large bowl, whisk together flour, sugar, pumpkin pie spice, baking soda, and salt. Make sure to break up any little clumps of spice.
In another bowl, combine the pumpkin puree, eggs, oil, and vanilla. Mix until it’s really smooth. Pour this into your dry ingredients and stir just until you don’t see any more flour streaks.
Fill each muffin cup about 1/3 full with batter. Make a little well in the center with the back of a spoon and add about a tablespoon of the cream cheese mixture. Cover this with more batter until the cups are about 3/4 full.
Take streusel out of the fridge and sprinkle it generously over each muffin. Really pile it on – some will sink in as they bake and that’s fine.
Bake for 18-20 minutes. You’ll know they’re done when a toothpick inserted into the cakey part (not the cream cheese center) comes out clean, and the tops spring back when you lightly press them. The streusel should be golden brown and the cream cheese filling might puff up slightly.
Let them cool in the pan for about 5 minutes – this helps the cream cheese center set up a bit. Then move them to a wire rack to cool completely.