Prep the liver. Rinse the slices under cold water and pat dry. Place in a shallow dish and cover with milk. Soak for 20–30 minutes in the fridge.
This step helps tame any strong flavors and yields a softer bite.
Cook the onions. In a large skillet over medium heat, melt 2 tablespoons butter with 1 tablespoon oil. Add the onions and a pinch of salt. Cook, stirring often, until soft and golden brown, 12–15 minutes.
Lower the heat if they start to char. Transfer onions to a bowl and keep warm.
Season the liver. Drain the liver and pat very dry. Season both sides with salt and plenty of black pepper.
Drying well is key to a good sear.
Sear the liver. Add the remaining 1 tablespoon oil to the same skillet over medium-high heat. When shimmering, lay the liver slices in a single layer. Sear 1.5 to 2 minutes per side for calf’s liver (slightly longer for beef liver), just until browned on the outside and barely pink in the center.
Do not overcook. Transfer to a plate and tent loosely with foil.
Make the roux. Reduce heat to medium. Add the remaining 1 tablespoon butter to the skillet.
Sprinkle in the flour and whisk into the drippings for 1–2 minutes until lightly browned and fragrant.
Build the gravy. Slowly whisk in the beef stock, scraping up browned bits. Simmer 2–3 minutes until thickened to a silky consistency. Stir in Worcestershire and Dijon or vinegar, if using.
Taste and season with salt and pepper.
Combine and warm through. Stir the onions back into the gravy. Nestle the liver slices into the pan and spoon gravy over the top. Warm for 1–2 minutes on low heat—just to combine, not to cook further.
Serve. Garnish with parsley if you like.
Serve with mashed potatoes, buttered noodles, or crusty bread to catch every bit of gravy.