Wash, peel, and cut the potatoes into 1 inch, equal sized pieces.
Add to a large pot and cover with cold water.
Bring the potatoes to a boil; boil for 15-20 minutes or until the potatoes are soft and a knife or fork goes through a piece of potato with no resistance.
While the potatoes are cooking, dice the bacon and the onion. Add the bacon to a cold pan; heat over medium/low heat.
The bacon should start to release some fat and begin to caramelize after about 5-10 minutes.
Add the onion to the pan. You can drain off some of the bacon fat before adding the onion if you would like, we like to add the onion in with the bacon fat and skim any excess off after it has cooked!
Cook the onion and bacon together for about another ten minutes until the onion is translucent and the bacon is caramelized. You may have to adjust the cooking temperature to lower heat so the bacon doesn't burn! Turn off the heat when it is ready.
When the potatoes are almost ready, heat up milk, butter, and cream on the stove until the butter melts. Turn off the heat and set aside until ready to add to the potatoes.
Drain the potatoes when they are soft.
If you have a ricer, pass the potatoes through the ricer. If not, you can mash using a masher or even a large fork - whatever you have works! Now is also a good time to add some salt to the potatoes.
Add the milk mixture a bit at a time until you reach the desired consistency. Season with salt and pepper.
Prepare any garnish that you would like to add - parsley, dill, chives, or green onion work well!
Serve mashed potato on a plate or in a serving dish.
Top with the bacon and onion mixture.
Add the garnishes and eat alongside pickled beets for the perfect comfort food!