Preheat the oven to 400 degrees.
Wash sweet potatoes and remove any blemishes or dark spots. Pierce each sweet potato several times with a fork. Then wrap with aluminum foil.
Bake at 400°F for about 50 – 60 minutes or more, or until a fork easily presses into the center. Let it cool slightly.
Once sweet potatoes are cool enough to handle – remove skin or scoop out sweet potatoes. Place in a large bowl.
With a potato masher, mash sweet potatoes until smooth. Then add milk, eggs, heavy cream, butter, brown sugar, cinnamon, ginger, nutmeg, vanilla extract, and salt to taste. Whisk the mixture until smooth.
Spread sweet potato mixture into prepared baking dish.
For the toppings: In a medium bowl mix together flour, brown sugar, butter, and salt, until moisten and the mixture clumps together.
Finally, add the pecans and then spread the mixture over the top of the sweet potatoes in an even layer.
Bake until the top is slightly brown, about 25 to 30 minutes. Serve hot.
Remove the sweet potatoes casserole from the oven after 25 minutes. Top with about a cup of marshmallows, then broil for about 5 minutes or until slightly brown. Start checking after 3 minutes. Remove and serve hot.