Fill a large pot with water and bring it to a boil. Put the cabbage head in the water and slowly boil for about 30-35 minutes. Take the cabbage out and cool it. With a sharp knife carefully cut of 12-16 leaves without breaking them.
In a medium pot, sauté the finely chopped onions in lard or vegetable oil over low heat, stirring frequently, until translucent. Do not let them burn. Salt lightly to help tenderize them. The onions should be cut into very, very small pieces. Add a small amount of water, if necessary, to prevent sticking to the pan.
Remove the pot from the heat, add 3 tablespoons of sweet Hungarian paprika, stir well. Go by the color, if it is pale, rather orange than red, add a bit more paprika. Do not burn the paprika or it will become bitter.
Combine the ground meat, egg, rice, garlic, half of the sautéed onions-paprika mixture, ground black pepper, and salt to taste. Form medium-sized balls.
Flatten the cabbage leaves or remove the thick stalks from the center. Place 1 ball on each leaf, and roll it up firmly, folding the edges under.
Rinse the sauerkraut under running water and mix it with the second half of the paprika-onion mixture, the ground caraway seeds, the bay leaf and the flour. Spread half of it on the bottom of your pot. Place the cabbage rolls on top and cover them with the remaining sauerkraut.
Pour water over. The water should not cover the sauerkraut, but when you press it with a wooden spoon, you should see the water.
Cover with a lid and put it in the preheated oven (180°C/350F) and cook for about 1.5 - 2 hours, until the sauerkraut is tender. You can also test the meat filling, if the rice is tender, then it is done.
Serve with sour cream.
