Cube red potatoes into one inch cubes. Leave the skin on.
Cook in boiling water for 15 minutes until they are very soft.
Drain potatoes and add in butter and ½ cup of milk. Mash until smooth. Stir in garlic if you’re using it and season with salt and pepper. You might need to add a bit more milk to make the mash really smooth.
For spinach:
Add spinach to a large skillet over medium heat and drizzle with oil. Cook for a minute or two until spinach starts to wilt. Remove from heat and set aside until needed. There’s no need to keep it warm.
For Sausage and Gravy:
Add sausage to a medium pot over medium-low heat with a small drizzle of oil. Cook slowly until the sausages are browned on all sides and cooked through. If you cook them too fast they might burst which will dry them out so try to keep them on medium-low heat.
After 20 minutes or so, the sausages should be cooked. Remove them and keep them warm in a 250 degree oven.
Add sliced onions to pan where sausage cooked. Add butter and oil and put over medium heat. Use juices from onions to scrape up any sausage bits stuck to pan. Cook for 5-6 minutes until onions are soft.
Stir in sugar, vinegar, and beef stock. Bring to a slight simmer and simmer for five minutes.
Stir together corn starch and water in a small bowl. Pour that slurry into the gravy and stir well. It should thicken immediately.
If gravy becomes too thick, add more stock to thin it out a bit. If it is too thin, just let it simmer and it should thicken. Season gravy with salt and pepper.
For each serving, give a big scoop of mash with spinach. Top with a few sausages and gravy.