In a large bowl, combine oil with salt, cinnamon, cumin, cardamom, coriander and lime juice and stir to mix well.
Add lamb, tomatoes and onions and toss to coat.
Marinate in the refrigerator for at least 30 minutes and up to 2 hours.
To make kebabs, skewer one piece of lamb, followed by a tomato, add another piece of lamb, followed by an onion. Repeat so that each skewer is full of lamb, 2 tomatoes and 2 onions.
Broil on high for 8-10 minutes for medium doneness or 12-14 minutes for well done.