Preheat oven to 350°F (175°C). Grease a 9-inch baking pan.
Cream butter and sugar until light and fluffy.
Add eggs one at a time, mixing well. Stir in vanilla extract.
In a separate bowl, mix flour, baking powder, baking soda, and salt.
Alternate adding dry ingredients and sour cream to the wet mixture.
In another bowl, beat cream cheese, sugar, egg, and vanilla for the swirl.
Pour half of the cake batter into the pan, then add the cream cheese mixture.
Top with the remaining cake batter and swirl gently.
Bake for 45 minutes or until a toothpick comes out clean. Cool before serving.