Preheat your oven to 350 degrees F. Grease a 9x13 inch cake pan with nonstick spray or rub with butter.
Make the streusel: In a large bowl, whisk together 3 cups flour, 1 cup brown sugar, ½ cup granulated sugar, 1 teaspoon kosher salt, 1 tablespoon cinnamon, and 1 tablespoon pumpkin pie spice.
Melt 1 cup butter in a medium bowl in the microwave. Pour into the larger bowl and halfway stir the butter into the flour. Make sure you stop stirring before it comes together all the way! You don’t want to moisten all the flour. You should end up with a bowl of what looks like wet sand, with lots of big chunks. Set aside. If you have room, place it in the fridge.
For the cake: In a large bowl or stand mixer, whisk together 2 and ¼ cups flour, 1 and ½ cups granulated sugar, 1 tablespoon baking powder, ¾ teaspoon baking soda, ¾ teaspoon kosher salt, 1 tablespoon pumpkin pie spice, and 1 teaspoon cinnamon.
Chop ½ cup softened butter into chunks. Add the chopped butter to the flour mixture.
Open up your can of pumpkin puree. Use a spatula to get a big scoop of pumpkin (about half the can), and add it to the bowl with the flour and butter. Use the paddle attachment (or electric beaters) to blend the butter and pumpkin into the flour. Don’t over mix, just beat until all the butter is incorporated.
In the same medium bowl that you melted butter in, add all the remaining pumpkin from the can. Whisk in 4 eggs, ¼ cup vegetable oil, and 1 tablespoon vanilla. Beat well with a whisk until the eggs are well blended.
Add the egg mixture to the flour mixture in 3 additions, beating for about 20 seconds after each one. Once all the egg mixture is added, beat for another 1 minute until the batter is light and fluffy.
Spread 2 cups of batter into the bottom of your prepared cake pan. Sprinkle 1 cup of streusel evenly over the top.
Spread another 2 cups batter on top and spread it around as best you can. Add another 1 cup streusel on top. Add the rest of the batter and spread evenly. Evenly spread another 2 cups of streusel on top of the cake.
Bake the cake at 350 for 35 minutes. Remove the cake from the oven and sprinkle all the remaining streusel on top of the cake. Bake for another 10-15 minutes. The total bake time for the cake should be about 45-50 minutes.
Let the cake cool on a wire rack for at least 15-20 minutes before cutting into it.
Make the icing: In a medium bowl, beat ¼ cup butter until smooth. Add 1 teaspoon vanilla, ½ teaspoon kosher salt, 3 tablespoons milk, and 2 cups powdered sugar. Beat until very smooth.
Drizzle the icing over the cake. The cake is best served warm!
