Preheat oven to 350 degrees Fahrenheit.
Spray or grease a 9x13 inch pan. (I used a glass pan). If you're using a dark coated pan, the bottom may over-brown a bit, so just be aware and lower the temperature to 325 degrees.
In a large mixing bowl, whisk together the flour, baking powder, baking soda, salt and granulated sugar. Whisk well and set aside.
In another bowl, mix together the buttermilk, oil, eggs and vanilla extract. Whisk well and set aside.
Make sure the butter is just slightly cooler than room temperature, but not cold. Add the butter (in chunks) slowly to the dry ingredients. (You can turn a stand mixer on low and leave it on while adding the butter chunks a bit at a time, or a hand mixer can be used.)
Once all the butter has been added, turn the mixer up to medium/high and mix until all the flour is coated with the butter and the mixture is crumbly. It will have a sand-like texture. (Watch the video to see what this looks like if you need a visual.)
Pour in about half of the liquid mixture. Mix on medium for about one minute.
Pour the last of the liquid mixture and mix again but only until combined. Don't over-mix the batter at this point. Mixing it for longer than about 30 seconds is too long. Once all the ingredients are incorporated well, stop mixing.
Use a rubber spatula and scrape the sides of the bowl. Mix again for only about 10 seconds to make sure all the ingredients are well incorporated.
Pour the batter into the prepared pan.
Drop the cream cheese mixture by teaspoonful over the top of the cake batter. Gently swirl through with a knife. Try not to touch the bottom of the pan with the knife.
Sprinkle the crumb mixture evenly over the top of the cake batter.
Bake at 350 degrees for approximately 45-50 minutes. If using a glass pan, you can set a cookie sheet on the rack below the cake to keep the bottom from over-browning. You can also set a sheet of foil over the top of the cake during the last 10 minutes if the cake looks like it’s beginning to over-brown, but is not done baking. When done, the top will be golden brown and a toothpick inserted into the center will come out either clean or with a few moist crumbs. (If you use a dark non-stick coated pan, you'll need to lower the temperature to 325 degrees and bake it for a bit longer. Times will vary, but the top should be browned and a toothpick inserted into the center will come out with a few crumbs, but not raw batter.)
Set on wire rack to cool for at least an hour. This cake is best served warm.