Preheat oven to 375°F. Combine all the ingredients in a medium saucepan. Place over medium-high heat. Cook, stirring frequently, until the sugar has dissolved and the peaches have released their juices, about 8 minutes. Transfer to a deep baking dish.
Prepare the topping by combining the flour, sugar, cardamom, cinnamon, baking powder, and salt in another medium bowl. Add the cubed butter. Using your hands, combine the butter with the dry ingredients until it resembles a coarse meal. Add the milk and mix until combined.
Take the mixture and place on top of the baking dish with the peaches. Try to make this layer an even thickness. The dish should not be completely covered.
Place in the oven and bake for 40 to 50 minutes, or until the topping is golden brown. Scoop a portion onto a plate and serve with a scoop of vanilla ice cream.