Preheat the oven to 350°F and grease a 9x13-inch baking dish.
Place the sweet potatoes in a large pot, cover with water, and bring to a boil. Cook until tender, about 15–20 minutes, then drain well.
Mash the sweet potatoes until smooth.
Stir in melted butter, brown sugar, cream, eggs, vanilla, cinnamon, nutmeg, and a pinch of salt. Mix until fully combined.
Spread the sweet potato mixture evenly into the prepared baking dish.
In a separate bowl, combine brown sugar, butter, flour, and cinnamon, then stir in chopped pecans.
Pour in the melted butter and mix until crumbly.
Sprinkle the topping evenly over the sweet potato base.
Bake for 30–35 minutes, or until the topping is golden brown and crisp.
Allow the casserole to cool slightly before serving warm.