1) Combine the yoghurt, olive oil, lemon zest and juice, rosemary, salt, and pepper in a large, non-reactive bowl. Add the lamb, making sure it is covered with the marinade, cover with cling film and refrigerate overnight or for up to two days.
2) Prepare a charcoal griddle with hot coals or barbecue. Spread the coals in one tight layer on the griddle.
3) Cut the lamb in 3.5 to 4cm cubes. You should have about 20 cubes.
4) Cut the red onion in eight pieces and separate each piece into 3 or 4 sections. Loosely thread 3 or 4 pieces of lamb onto skewers alternately with sections of onion. Sprinkle both sides of the lamb cubes with salt and pepper.
5) Place the skewers on the hot griddle and cook for 10 to 15 minutes, turning two or three times, until the lamb is medium-rare.
6) Serve immediately.