Cook the pork ribs. Fill a large cooking pot with water and add the pork ribs. Cook for 45-60 minutes.
Shred the meat. Transfer the cooked meat onto a plate, remove the bones, and use two forks to shred it. Set the shredded meat aside. Strain the broth through a fine mesh sieve and set it aside in a pot. Use the same pot, just wash or wipe it clean first.
Saute the vegetables. In a skillet over medium heat, heat oil. Sauté the onion for about 5 minutes until it turns translucent. Add the carrot and continue cooking for an additional 3-5 minutes.
Add seasoning. Stir in black pepper, smoked paprika, caraway seeds, marjoram, and garlic powder, cooking for an extra 30 seconds. Add the tomato paste, mix it in, and cook for another 30 seconds. Set aside.
Add potatoes to the broth. Add potatoes and bay leaves to the pot with broth. Bring the mixture to a boil, then reduce the heat and cook for 12-15 minutes until the potatoes are almost tender when pierced with a fork.
Add sauerkraut. Add the sauerkraut along with its juices, the cooked vegetables (carrots and onion), and spices to the pot. Cook for 25 minutes, allowing the sauerkraut to release its juices and aromas.
Taste for seasonings and return pork. Taste the soup for seasoning and adjust as needed. Add back the shredded pork and cook for an additional 5 minutes. Remove and discard the bay leaves.
Serve. Take the sauerkraut soup off the heat. Serve it in bowls, optionally topped with sour cream, and serve immediately.