Preheat the oven to 350°F.
Bring a large pot of water to a boil, then carefully add the whole cabbage head and boil until the outer leaves are soft enough to peel away. Remove about 12-14 leaves and set aside.
1 large head green cabbage
In a large bowl, mix ground beef with finely chopped onion, garlic, egg, breadcrumbs, caraway seeds, salt, smoked paprika, and pepper until everything is well combined.
1 pound ground beef, 1/2 large onion, 2 cloves garlic, 1 large egg, 1/2 cup breadcrumbs, 1 teaspoon caraway seeds, 1 teaspoon kosher salt, 1/2 teapsoon smoked paprika, 1/2 teaspoon black pepper
Lay out each cabbage leaf, trim the thick stem at the base, and spoon about 1/3 cup of the the meat filling into the center of each leaf. Fold in the sides and roll it up tight like a burrito.
Heat oil or butter in a pan over medium heat and brown the rolls on all sides for 1-2 minutes per side. This step adds flavor, helps them hold their shape, and speeds up the bake time a bit, but can be skipped if needed. Transfer to a plate and set aside.
1 Tablespoon olive oil
In the same pan, heat a drizzle of olive oil over medium-high heat. Add the onions and saute for about 5 minutes until softened. Add the garlic and saute for another 30 seconds. Stir in the tomato sauce, diced tomatoes, vinegar, brown sugar, salt, and pepper. Reduce the heat to medium-low and let it simmer for 10 minutes to blend the flavors.
1 Tablespoon olive oil, 1/2 large onion, 2 cloves garlic, 1 (15-ounce) can tomato sauce, 1 (14.5-ounce) can diced tomatoes, 1 Tablespoon apple cider vinegar, 1 1/2 Tablespoon brown sugar, 1/2 teaspoon kosher salt, 1/4 teaspoon black pepper
To assemble, spoon a thin layer of sauce into the bottom of a 9x13-inch pan. Nestle the cabbage rolls into the sauce, then pour the remaining sauce over the top. Cover with foil and bake for 60-80 minutes, until everything is hot and cooked through.
Sprinkle with fresh parsley and serve hot with spaetzle, mashed potatoes, or German red cabbage on the side.