In a large bowl, combine all the marinade ingredients: minced garlic, grated onion, olive oil, yogurt, cumin, paprika, coriander, cinnamon, salt, and black pepper. Mix well to create a smooth marinade.
Add the beef cubes to the marinade, making sure they are well coated. Cover the bowl with plastic wrap and refrigerate for at least 2 hours, or ideally overnight, to allow the flavors to meld.
If you're using wooden skewers, soak them in water for at least 30 minutes before using to prevent them from burning.
Preheat your grill to medium-high heat.
Thread the marinated beef cubes onto the skewers, leaving a small space between each piece.
Place the beef kebabs on the preheated grill and cook for about 8-10 minutes, turning occasionally, or until they are cooked to your desired level of doneness. You can also cook them on a stovetop grill pan.
While the kebabs are cooking, you can warm the flatbreads or pita bread on the grill for a minute or two on each side.
Serve the beef kebabs on the warm flatbreads or pita bread and garnish with sliced tomatoes, cucumbers, red onions, and chopped fresh parsley or cilantro.
Squeeze fresh lemon juice over the kebabs before serving. You can also serve them with a side of yogurt sauce or tahini sauce if desired.Enjoy your delicious homemade Turkish beef kebabs!