Stir together olive oil, lemon juice, wine, and garlic; season with salt, pepper, oregano, rosemary, and bay leaf. Toss lamb with marinade until evenly combined, then pour into a resealable plastic bag, and marinate in refrigerator at least 24 hours.
Position oven rack to its top setting and set oven to broil.
Remove lamb from marinade and thread onto metal skewers; reserve marinade. Thread onion wedges, green peppers, and mushrooms onto separate metal skewers. Brush vegetables with reserved marinade.
Broil the skewers on a broiler pan, turning frequently. Cook onions for 12 minutes, lamb for 10 minutes, green pepper for 7 minutes, and the mushrooms for 3 minutes. Remove from oven, and allow to cool until cool enough to handle.
Remove skewers from ingredients and set aside. Reassemble skewers, alternating lamb, onions, green peppers, mushrooms, and tomatoes. Place onto broiler pan and brush again with marinade. Discard remaining marinade.
Broil skewers again to finish cooking, turning frequently until the lamb is medium-rare and the vegetables begin to blacken in spots, 5 to 7 minutes.