Combine beef, grated onion, garlic, salt, spices, yogurt, tomato paste, and olive oil in a large bowl.
Mix with your hands for 2–3 minutes until the mixture turns sticky and tacky. Don’t stop early — this step creates that sliceable kebab texture.
Transfer the mixture to a sheet of foil. Shape into a compact 9–10 inch log.
Tightly wrap with foil, then wrap again. Compress well to remove air pockets.
Chill 30–60 minutes to help it firm up.
Heat oven to 350°F (175°C). Place the wrapped log on a rack set over a tray.
Bake 60–70 minutes until the center hits 160°F (71°C).
Rest 15 minutes. For neater slices, chill fully for 2 hours or overnight.
Unwrap and blot any moisture. Use a sharp knife to slice very thin pieces.
Heat a large skillet over medium-high with a film of oil.
Pan-sear slices in batches 1–2 minutes per side until browned and crisp at the edges. Don’t overcrowd.
Stir yogurt, garlic, lemon, water, and salt until smooth.
Warm flatbreads. Layer beef, onions, tomatoes, cucumbers, herbs, and pickles. Drizzle sauce and wrap.