Heat the butter over medium heat. Add the onions and season with salt and pepper. Cook to very sweet and caramel in color, 25-30 minutes. Add the flour and stir for 1 minute; add the beer, Worcestershire and stock. Reduce the heat and gently thicken the gravy, 10-15 minutes more.
While the onions cook, peel and chop up the potatoes. Place them in a large saucepot, cover with water and bring to a boil. Salt the water and cook the potatoes to tender. Drain and return them to the hot pot. Mash with the milk or half-and-half, mustard, salt, pepper and a little nutmeg, to taste. Mash the spinach into the potatoes to wilt.
While the gravy thickens, cook the steaks for 8-10 minutes on a hot griddle or in a cast iron skillet over medium-high heat.
Slice the steaks and arrange them on plates with the mashed potatoes and spinach alongside. Top everything with the Drunken Onion Gravy.