Preheat the oven to 375 degrees F (190 degrees C). Grease a baking pan.
Heat butter in a skillet over medium heat; stir in onion. Cook and stir until the onion has softened and turned translucent, about 5 minutes.
Transfer onion to a large mixing bowl and add beef, cooked rice, cream, egg, parsley, potato starch, 2 teaspoons salt, pepper, caraway seeds, ginger, nutmeg, and cloves. Mix to combine in an even consistency and refrigerate filling until needed.
Bring a large pot of generously salted water to a boil. Place 1 head of cabbage in the boiling water and parboil until bright green and leaves are softened, about 2 minutes. Carefully remove cabbage with tongs or a large fork. Repeat with remaining head of cabbage. Allow to cool, about 10 minutes.
Remove outer leaves from the cooled cabbage. Lay 1 leaf flat on a work surface and cut out the stem. Spoon a generous 2 tablespoons of filling into the center of the leaf. Fold the corners at the stem end diagonally over the filling, fold the sides over, and roll up like a tiny burrito. Place in the prepared baking pan. Repeat to make remaining cabbage rolls until filling is used up.
Add water to the baking pan until it is halfway up the sides of the cabbage rolls.
Bake in the preheated oven until beef is cooked through and no longer pink, about 40 minutes.