In a large pan, drizzle olive oil over medium heat. Add onions and cook, stirring occasionally, until softened and translucent. Stir in the meat and break it up into small pieces. Cook, continuing to break it up, until browned. Stir in tomatoes and water. Add paprika, caraway seeds, and parsley. Cook, stirring occasionally, until sauce thickens. Stir in 1/2 cup sour cream.
Place a fine mesh sieve over a medium bowl. Pour meat sauce into the sieve and let drain.
In another medium bowl, whisk together eggs, flour, and milk until a smooth batter forms.
Heat a large non-stick skillet over medium low heat. Brush with about 1/4 teaspoon oil. Pour in about 1/4 cup batter and quickly tilt the pan to coat with a thin circle of batter. When the top begins to dry, flip to cook the other side. Cook until the bottom begins to turn golden, about 1 minute. Repeat with remaining batter, brushing the pan with oil as needed.
Preheat oven to 350 degrees Lightly grease a 9x13 inch baking dish or 2 smaller baking dishes.
Place a layer of drained meat along the lower third of a crepe, leaving a 1 inch border on the edges. Fold in the sides and roll up. Place in prepared baking dish, seam side down. Repeat with remaining crepes and filling.
Whisk 1/4 cup flour and 1 cup sour cream into the drained liquid from the meat until smooth. Pour over the prepared crepes. Bake in preheated oven until heated through and sauce is bubbly, about 15 minutes.
Serve hot with sour cream.