Mix together all dry ingredients (flour, white and brown sugar, ground ginger, cinnamon, baking powder, baking soda, salt) in a large mixing bowl. Set aside.
Measure out the milk in a large liquid measuring cup. Add the sour cream, canola oil, large egg and almond extract. Whisk until well combined.
Pour wet ingredients into the dry ingredients. Stir until just combined, careful not to overmix. It will be a relatively thick and scoopable batter.
Toss diced peaches with 1 tablespoon flour. Gently fold peaches into the batter until just combined.
Make the crumb topping by mixing very soft butter, flour and sugar. It should be very crumbly and seem dry.
Lightly grease or line a 12 cup muffin tin with muffin liners. For 9 muffins, measure out the batter using a cookie scoop or ⅓ cup measure. For 12 muffins use a ¼ cup measure.
Top each muffin with crumb topping and chopped pecans. Bake at 375F for 18-20 minutes on the middle oven rack. The muffins are ready when a toothpick inserted in the center comes out mostly clean and the crumb topping is golden.
Remove muffins from the muffin tin and let cool on a wire rack. Enjoy! Keeps for 3-4 days at room temperature in a closed container.
Video
Notes
Flour: I recommend using the spoon and level method to measure out flour for most consistent results. Spoon flour into measuring cup until overflowing then use the back of a knife to wipe off excess.
Milk: Any kind works, even non-dairy milks like soy milk. Higher fat milks like whole milk will yield a slightly more tender muffin.
Peaches: I leave skins on the peaches but you can remove them if preferred. Frozen peaches work but let them thaw completely before using. Canned peaches also work.
Butter: To quickly soften the butter, slice it up and pop in the microwave for 20-30 seconds. It should be soft enough to indent with very little pressure but not melted.