Preheat the oven to 350 degrees Fahrenheit. Prepare a large ice water bath and place it next to the stove
Bring a large pot of water to a boil on the stove, carefully place the 1 head green cabbage into the water then reduce the heat to low. Simmer the cabbage for about 8 minutes.
Remove the cabbage from the pot and place it in the ice water bath to cool. Once it is cool enough to handle, carefully remove 10-12 leaves from the head, removing the large, stalky ends. Set the leaves aside.
Discard the hot water and place the pot back on the stove, heat the 2 tablespoons olive oil over medium-high heat and add the 1 cup finely chopped yellow onion to the pot. Cook the onion until tender and translucent, about 3-4 minutes.
Add the 1 tablespoon minced garlic, 1 cup cooked white rice, 2 tablespoons paprika, 2 teaspoons salt, and 1 teaspoon pepper to the pot and stir to combine, cooking for a few minutes. Remove from heat. Split the onion and rice mixture in half.
To a large bowl add the 1 pound ground pork, 1 large egg, and half of the onion and rice mixture. Mix well. In a separate bowl mix together the remaining onion and rice mixture, 2 cups sauerkraut,and ¼ cup tomato paste.
Spread half of the sauerkraut mixture into the bottom of a large Dutch oven that has a lid.
To assemble the cabbage rolls, lay a boiled cabbage leaf on a work surface, take ¼ cup of the meat filling, and place it in the bottom of the leaf in a log shape.
Roll the leaf up over the filling, tucking the sides in on itself as you roll. You should end by tucking the sides in to keep it from un-rolling. Continue with the rest of the filling and leaves.
Place the cabbage rolls in the sauerkraut-lined pot seam sides down. Spread the reaming sauerkraut over the cabbage rolls.
Pour the 1 ¾ cups water into the pot, cover the pot with a lid, and bake for 60-90 minutes, until the meat is cooked through and the sauerkraut is very tender.