Preheat oven to 375°F. Lightly grease a 9x13-inch casserole dish with nonstick spray or butter.
Place the sweet potatoes in a large pot and fill it with enough water to cover the potatoes by 1 inch. Bring to a boil over high heat, then reduce the heat to medium and cook for 15 to 20 minutes, until the potatoes are very tender. Drain well.
Return the potatoes to the pot and mash with a potato masher or large fork. Add the brown sugar, butter, milk, eggs, salt and vanilla then beat with an electric hand mixer or stir with a wooden spoon until well combined. (A hand mixer will result in a smoother filling.)
Spread the sweet potato mixture into the greased baking dish and smooth into an even layer. Set aside to cool slightly while you make the topping.
For the Topping:
In a medium bowl, stir to combine the brown sugar, flour and cinnamon. With a fork, stir in the melted and cooled butter until the topping is crumbly. Stir in the roughly chopped pecans.
Sprinkle the topping all over the sweet potatoes in the dish.
Bake for 25 to 30 minutes until the casserole is slightly puffed and golden brown on top. Let it rest for about 10 minutes before serving.
Don’t want to boil the sweet potatoes? You can make baked sweet potatoes or Instant Pot sweet potatoes, too! Just be sure you cook 3 pounds of potatoes so you have enough for the filling.