Slice onions into half-moons, a quarter of an inch thick. Place a pot over medium heat and melt butter. Add in onions, season with a pinch of salt and cook over medium to low heat for 20 minutes until caramelized. Let onions sit for another five minutes and deglaze with beef stock. Continue cooking until all the liquid has evaporated. Set aside until ready to serve.
Place potatoes in a stock pot and cover with cold water and 1 tsp salt. Bring water to a boil over high heat and cook until potatoes are fork tender. Cut your garlic bulb in half and place in a small sauce pan with cream and bring cream to a slow simmer. Discard garlic bulb when ready to pour over potatoes and mash them until all the cream is incorporated and potatoes are fluffy. Adjust season with more salt.
Bring a cast iron up to temp over medium high heat. Cook sausages until both sides are browned and sausage is fully cooked through. Remove from pan and set aside. In the same pan add your diced carrots and butter. Cook for 2 minutes, add your flour and cook for two more minutes. Add beef stock, Guinness beer, mustard and garlic powder. Bring sauce to a slow boil until nice and thick. Add in peas to warm through.
To serve place a generous portion of mashed potatoes on bottom of plate. Place sausage over top and cover with a heaping portion of gravy. Top with caramelized onion.