Preheat oven to 350°F (175°C) and grease a 9x5 inch loaf pan with butter or non-stick spray.
Sift together the all-purpose flour, baking powder, and salt in a medium mixing bowl.
In a stand mixer, cream the softened butter and 1 cup sugar on medium-high speed until light and aerated.
Incorporate 2 eggs one at a time into the butter mixture, then stir in 2 teaspoons of vanilla extract.
Reduce mixer speed to low and alternate adding the dry ingredients and milk, beginning and ending with the dry mixture.
Prepare the filling by beating the softened cream cheese, 0.25 cup sugar, 1 egg, and 1 teaspoon vanilla until smooth and free of lumps.
Transfer half of the loaf batter into the prepared pan, spreading it evenly to the edges.
Pour the cream cheese filling over the first batter layer.
Top with the remaining loaf batter and use a butter knife to gently swirl the layers together.
Bake for 55 to 60 minutes, or until a skewer inserted into the center emerges without wet batter.
Cool the loaf in the pan for 15 minutes before removing to a wire rack for complete cooling.