Peel and chop onions. In large cooking pot place diced bacon and oil. Sauté onions and garlic for 5 minutes over low heat, stirring frequently until onion is light golden.
Take cooking pot off heat, add paprika and mix well. Place cubed pork on paprika/onion mixture and turn pieces around to coat well. Cook over low heat for a few minutes, stirring continuously, making sure that paprika does not burn.
Add salt, pepper, and caraway and mix well. Immediately after, add enough water to cover meat. Cover pot and simmer meat for 45 minutes. While meat is cooking, wash out sauerkraut under cold running water. Squeeze dry and set aside (not necessary if sauerkraut is not too sour) Add sauerkraut to meat and cook together until meat is done, about 15 minutes longer. Before serving, add sliced sausage and sour cream. Gently stir into gulyas and cook on low heat for another 2-3 minutes. Serve at once but this dish is better when prepared a day ahead. Sour cream should only be added before serving.