Preheat oven to 450 degrees.
Heat the olive oil in an enamel Dutch oven over medium-high heat. Add in the salt pork and cook for 5-8 minutes until browned, and fat has accumulated at the bottom of the pan. Remove from the loan with a slotted spoon and set aside.
Pat the beef dry with a paper towel, and lightly sprinkle with salt and pepper. Make sure the fat is super hot, then add in the beef, in batches so as not to crown the pan, and brown on all sides. Set the browned beef aside, and add the chopped carrots and onion to the fat and cook for a couple minutes until lightly browned.
Slice the cooked salt pork into lardons. Add the salt pork and beef to the vegetables. Sprinkle the flour all over and toss to coat. Place the pan in the oven uncovered to cook for 4 minutes. Remove from oven, toss again, and place back in the oven for another 4 minutes. Remove it from the oven, and reduce the heat to 325 degrees.
Add in the wine, stock, tomato paste, herbs, and garlic and carefully stir to combine. Cover and place in the oven to 3 to 3 and ½ hours.
While the meat is cooking, prepare the onions, mushrooms, and mashed potatoes.
Heat the butter and oil in a skillet over medium-high heat. Add in the onions and salute for about 10 minutes, rolling the onions around, until slightly browned.
Add in the stock. Tie together the herbs with some butcher's twine, and add those in, too. Reduce the heat to low, cover, and simmer for 40-50 minutes until tender. Set aside.
Quarter the mushrooms. Heat the oil and butter in a skillet over high heat. When the foam from the butter begins to subside, add in the mushrooms. Shake the mushroom around for about 5 minutes until browned. Remove from heat and set aside.
Fill a medium sauce pan with water and bring to a boil. Drop the garlic cloves into boiling water and boil for 2 minutes. Peel the cloves.
Empty the water from the sauce pan. Add in 4 tablespoons of butter and heat over low heat. Add in the garlic cloves, cover, and cook for 20 minutes, until tender.
Stir in the flour, and stir over low heat until it froths. Add in the hot milk, salt, and pepper, and puree in a blender. Return to pan and simmer for 2 more minutes. Set aside.
Boil some salted water in a large pot. Peel and quarter your potatoes, then add to the water. Cook until fork tender.
Press the potatoes through a potato ricer, mash by hand, or add them to the bowl of your mixer and mix until smooth. Return the potatoes to the pan and cook out any moisture over medium-low heat.
Mix in 4 tablespoons of butter, 1 tablespoon at time. Mix in the garlic sauce, and then the cream. Stir in the parsley. Season to taste with salt and pepper.
Skim the fat off of the top of the beef bourguignon. Serve over the potatoes, placing the onions and mushrooms around.
