Cut the beef into bite-sized pieces (roughly 1 inch/2.5cm dice). Sprinkle the beef with salt, pepper and flour and toss together so that the beef pieces are evenly coated.
Peel and thinly slice the onions - in general, half ring size is good though I would cut the larger outer rings in half so none of the pieces are too big, but you don't have to. If you like, use one of the end pieces and press in the cloves to try to keep them together as the stew cooks (they may fall out, though).
Warm roughly half of the butter in a heavy bottomed pot (eg a Dutch oven) over a medium-high heat. Brown the meat in batches, so that you don't overcrowd the pot. Turn once the underside have a nice sear, brown the other sides then once brown, remove from the pot and set aside while you brown the next batch.
Once all of the meat has been browned, add the additional butter, let it melt then add the onions. Cook, stirring regularly, so that the onions soften and start to caramelize slightly (this will take a good 5 - 10 minutes).
Once the onions are soft, add back the beef, mix through, then add the cloves, bay leaf and beef stock. Mix well and scrape the bottom of the pot to loosen any of the browning and mix it into the gravy (t has lots of flavor!).
Bring the mixture to a simmer then stir through the vinegar. Cover and reduce the heat so that the mixture continues to simmer. Leave to cook for around 2 hours, checking now and then and stirring as needed.
Then, remove the lid or just have it part on so that the sauce reduces to become a bit thicker, but don't let it dry out. If you have already lost what seems too much liquid, add a little more stock as needed. Cook for around another hour so that the meat is very tender and the sauce is still gravy-like but not thin. Traditionally served with mashed potatoes and red cabbage.