In a bowl, mix 3 tablespoons of the flour, salt and pepper.
Dip the beef in the seasoned flour one at a time and shake off any extra flour.
In a heavy frying pan, melt 2 tablespoons of the butter over a high heat and the brown the beef quickly on both sides.
Put the meat aside on a plate and add the remaining butter to the pan.
Drop in the onions and cook over a medium heat for 5-8 minutes.
Add the paprika, peppercorns, allspice, bay leaf and clove.
Pour in the water and bring it to a boil.
Return the meat to the pan, lower the heat and cover tightly.
Simmer for 1 1/2 to 2 hours, basting occasionally with the liquid.
When the meat can be easily pierced with a fork, transfer to a plate and cover to keep warm.
Strain the cooking liquid through a sieve into a small bowl, pressing down hard on the onions before discarding them. There should be 1 1/2 to 2 cups of liquid. If there is less then add beef stock to make up the difference.
Return the liquid to the skillet, bring to a simmer, then lower the heat.
With a whisk, beat the remaining flour into the sour cream.
A bit at a time, beat the sour cream into the liquid and cook, whisking all the time, until it thickens slightly.
Don't let it boil.
Return the beef to the skillet, baste it well with the sauce and cook just long enough to heat it through.
Stir in the Madeira and taste for seasoning.
Serve with dumplings or boiled or mashed potatoes.