Cut the lamb into ¾ inch-by-2-inch pieces (trim off any excess fat while cutting) and transfer to a large bowl.
Place the mint, cilantro, serrano peppers, garlic, ginger, yogurt, 4 tablespoons of lemon juice, canola oil, coriander, cumin, turmeric, garam masala and salt in a blender and blend on high until smooth. Pour the marinade over the lamb and mix to coat the meat completely. Thread the lamb onto the skewers, place on a sheet pan, cover and refrigerate for at least 4 hours and up to overnight.
Remove the lamb from the refrigerator 30 minutes before grilling. While the lamb is coming to room temperature, prepare a gas or charcoal grill and heat to medium-high.
Grill the lamb until it reaches your desired temperature, 3 to 4 minutes per side for medium rare or 5 minutes per side for medium. Transfer the cooked skewers to a serving platter, tent with foil and allow to rest for 5 minutes.
While the skewers are resting, prepare the tomato salad. Whisk together the olive oil and remaining 2 tablespoons of lemon juice. Add the tomatoes and onion, and gently toss to coat in the dressing. Season with salt to taste.
To serve, spoon the tomatoes around and on top of the lamb. Serve immediately.