Preheat your oven to 425 °F. Clean the sweet potatoes and pierce in a few places with the tines of a fork.
Place on baking sheet and roast until fork tender, around 40-45 minutes.
Once roasted, remove from the oven and let cool until you are able to touch them safely, but they are still warm.
Turn the oven down to 350 °F while you prepare the casserole.
Cut the sweet potatoes in half then scoop the sweet potato flesh out from the skin and place in a bowl.
Add the butter, milk, and vanilla, then mash until smooth
Place the mashed sweet potatoes in a 9x13 dish.
To make the topping, in a bowl, mix together the brown sugar, flour, pecans and 2 tablespoons of butter until crumbly and then top the sweet potatoes with it in one even layer.
Add marshmallows to taste. Place in the 350 °F oven and bake for 25-30 minute, until the topping is browned and crispy and the potatoes are heated through.
Roasting the sweet potatoes takes longer than boiling however the potatoes won't be mushy with extra water, and roasting them adds a nice depth of flavor.
There is NO sugar in the sweet potato part of the casserole, as you might notice, as the topping is SO sweet by itself! The earthy, buttery vanilla potatoes are the perfect match to the very sweet topping, but if you are a sugar hound you can add some in. I prefer the two layers to contrast.