Preheat oven to 400°F. Prick the sweet potatoes and place on a parchment-lined baking cut side down. Bake for 50-60 minutes or until tender when squeezed. Let them cool on sheets.
While sweet potatoes are cooking, heat a large skillet over medium-high heat. Add bacon and cook until crispy, about 5-6 minutes. Drain all but about 1 tablespoon of the bacon fat and transfer the bacon to paper towel-lined plate.
Add 4 tablespoon butter to the skillet and the onions and cook until translucent and soft, about 5-7 minutes. Add garlic, half of the sage and thyme and cook for another minute. Add heavy cream and bring to simmer. Remove from heat.
Scoop out the potatoes from the skin and transfer to a large bowl. Add the onion/cream mixture, Parmesan cheese, eggs, bacon, salt and pepper. Use a potato masher to mash until desired consistency. Transfer to a 2 quart baking dish.
In a medium skillet, add butter over medium heat with the remaining sage and thyme. Cook for about 5 minutes, or until the butter is foaming and the herbs are browned. Stir in the breadcrumbs, tossing to combine.
Top sweet potatoes with breadcrumb mixture. Bake at 400°F for 20-25 minutes or until the breadcrumbs are browned. Let cool 10 minutes before serving.
You know the sweet potatoes are done when you can easily stick a fork or knife through the center of the potatoes. The skin should easily come off.
If you don't want to use a pan, you can place bacon on parchment-lined baking sheet and bake at 400°F for 20 minutes.
You can skip the bacon if you want it to be vegetarian.
If using dried herbs, use ⅓rd of the amount as they are more potent.
Use freshly grated Parmesan cheese as it just tastes better.
Buy the bread a few days ahead of time and let it sit out so it is stale, making it more crunchy when baked.