Heat butter or oil in a large pot over medium-high heat. Add the meat in batches and brown well on all sides. Remove and set aside.
In the same pot, add the chopped onions. Cook until soft and golden, about 10 minutes. Add the garlic and cook for 1 more minute.
Stir in the tomato paste and sweet paprika. Cook for 2 minutes, stirring often.
Return the browned meat to the pot. Pour in the beef broth and add caraway seeds if using. Bring to a boil, then lower the heat.
Cover and simmer gently for 1½ to 2 hours, until the meat is very tender.
Stir in the sour cream or heavy cream. Warm gently without boiling.
Season with salt and pepper to taste. Serve hot with noodles, mashed potatoes, or dumplings.
