In a large bowl, combine the vegetable oil, chopped onion, minced garlic, minced ginger, ground cumin, ground coriander, ground paprika, ground turmeric, ground black pepper, salt, lemon juice, plain yogurt, and tomato paste. Mix well to create a marinade.
Add the beef or lamb cubes to the marinade, ensuring they are well coated. Cover and refrigerate for at least 2 hours, or overnight for best results.
Preheat your grill to medium-high heat.
Thread the marinated meat onto the skewers.
Grill the skewers, turning occasionally, until the meat is cooked through and nicely charred on the outside, about 10-15 minutes.
Remove the skewers from the grill and let them rest for a few minutes before serving.
Enjoy your meal!