First, heat butter or oil in your pot over medium-high heat. Brown the beef in batches, ensuring each cube gets a nice crust. Remove and set aside.
In the same pot, lower heat a little and add the chopped onions. Sauté until translucent and lightly golden. Then add garlic and cook for another minute or so until fragrant.
Stir in tomato paste and cook briefly (around 30 seconds) to lose its raw edge. Add the sweet paprika (and hot paprika if using) and marjoram, stirring swiftly so nothing burns.
Pour in red wine to deglaze the bottom of the pot, scraping up any browned bits. Then add beef stock, bay leaf, and return the beef cubes (with any juices) to the pot.
Bring to a gentle boil, then lower heat to maintain a simmer. Cover partially and simmer until the beef is tender—about 1 to 1½ hours. Stir occasionally and check liquid levels; add a splash of stock if it’s getting too thick.
Once beef is tender, remove the bay leaf. Stir in the cream (or sour cream). Then whisk in the cornstarch slurry and simmer for a few more minutes until the sauce thickens and becomes glossy. Season with salt and pepper to taste.
Let it rest a few minutes before serving. The sauce will thicken a bit more as it cools.