Preheat oven to 350°. Lightly grease a muffin tin with non-stick cooking spray or vegetable oil, or line with paper muffin liners.
Prepare streusel topping and set aside.
In a small bowl, whisk together flour, baking powder, and salt; set aside.
Combine sugar, melted butter, milk, eggs and vanilla in a large mixing bowl; beat until well blended. Add flour mixture, stirring just until moistened. Mix in chips.
Divide batter evenly into 12 muffin cups. Sprinkle muffins with streusel topping.
Bake for 20 to 25 minutes, until a tester inserted into the center comes out clean.
Cool muffins for five minutes in the muffin pan before removing to a wire rack to cool.
Streusel Topping
In a small bowl, whisk together sugar and flour. Add butter and mix until mixture has a sandy texture. Add almonds and caramel chips if using, stir to combine.
Caramel Drizzle
In a small microwaveable bowl, heat caramel and milk, stirring occasionally, until caramel is melted and smooth.
Put melted caramel in a Ziploc bag, cut off one corner and drizzle caramel over the tops of the muffins.