Start by prepping your sweet potatoes. Peel and cut them into large chunks.
Place the peeled, cut sweet potatoes in a large pot and cover with water. Bring to a boil over high heat and cook until fork-tender, about 15–20 minutes. Drain thoroughly, transfer to a large mixing bowl, and cool until warm before mixing with the eggs.
Preheat your oven to 350°F (175°C). While the oven heats up, lightly grease a 2.5 to 3-quart baking dish or a 9×13-inch pan with non-stick cooking spray. Set it aside.
To the bowl with the cooked sweet potatoes, add the eggs, softened butter, milk, brown sugar, granulated sugar, vanilla extract, salt, and if you’re using them, the optional nutmeg and cinnamon. Using a handheld electric mixer, beat everything together on medium-high speed until the sweet potatoes are smooth, fluffy, and well-combined. You want a creamy texture with no large chunks of potato left. Pour the sweet potato filling into the greased baking dish, smoothing the top with a spatula so it’s even.
In a microwave-safe bowl, melt the butter by heating it on high for about 1 minute. Add the brown sugar, flour, and salt to the melted butter. Stir it together with a fork or your fingers until it forms a crumbly mixture.
Add in the pecan halves and toss to coat them evenly with the crumble mixture.
Sprinkle the butter pecan topping evenly over the sweet potato filling in your baking dish. Make sure you cover the entire top for that perfect balance of filling and crumble in every bite.
Bake in the preheated oven for about 45 minutes, until the topping is golden and the egg-containing filling reaches 160°F in the center. If the pecans brown too quickly, tent loosely with foil.
A casserole assembled ahead and refrigerated will need additional oven time; check the center temperature and texture rather than relying on a fixed number of extra minutes.
Let the casserole rest for about 10 minutes before serving warm.