Preheat oven to 350 degrees F. Line standard muffin tins with paper liners.
In the bowl of a stand mixer, combine flour, sugar, baking soda, baking powder, and salt. With the mixer running on low, add butter one tablespoon at a time. Increase speed of mixer to medium and continue to blend until the the butter and flour mixture is well incorporated and when squeezed between your fingers, it holds together.
In a separate bowl with a pouring spout, whisk together all remaining ingredients to create your wet portion.
With the mixer running on low, pour in about a third of the wet ingredients. Increase the speed to medium and beat until light and fluffy, about 3-5 minutes. Scrape sides, add half of remaining wet ingredients, and beat on low until combined. Scrape sides again, add remaining wet ingredients, and beat on low until fully combined.
Use a cookie scoop to divide batter among muffin cups, filling each 3/4 full. Bake, rotating tins halfway through, until testers inserted in the centers come out clean, about 24-28 minutes. Let cool in tins on wire racks.
Once cooled, frost as desired.