Place the peeled and chopped potatoes in a large pot. Cover with cold water and add a pinch of salt. Bring to a boil over high heat, then reduce heat to medium and simmer for 15-20 minutes, or until potatoes are tender.
Drain the potatoes and return them to the pot. Add 2 tablespoons of butter and the warm milk. Mash until smooth and creamy. Season with salt and pepper to taste. Cover and keep warm.
In a large skillet over medium heat, heat the olive oil. Add the sausages and cook, turning occasionally, for about 9-12 minutes, or until browned on all sides and cooked through. Remove sausages from the skillet and set aside.
In the same skillet, reduce the heat to medium-low. Add the remaining 2 tablespoons of butter. Add the sliced onions and cook, stirring occasionally, for about 10 minutes, or until the onions are soft and golden brown.
Sprinkle the flour over the onions and stir well to combine. Cook for 1-2 minutes. Gradually stir in the beef broth and Worcestershire sauce. Increase the heat to medium and simmer, stirring frequently, until the gravy thickens, about 5 minutes. Season with salt and pepper to taste.
Return the cooked sausages to the skillet with the gravy. Heat for a few more minutes until sausages are warmed through.
Spoon the mashed potatoes onto plates. Top with sausages and plenty of onion gravy. Enjoy your meal!