Heat the oil in a large Dutch oven over medium heat. Add the lamb cubes and brown them on all sides, then remove the lamb to a plate.
Add the onions to the same pot and cook until they turn soft and golden, about 8 minutes. Stir in the garlic and ginger and cook for 1 minute more.
Sprinkle in the garam masala, cumin, and turmeric. Stir for 30 seconds until the spices smell fragrant.
Pour in the diced tomatoes and cook for 3 minutes, scraping the bottom of the pot to loosen any browned bits.
Return the lamb to the pot along with the chickpeas and chicken broth. Season with salt and pepper.
Bring the mixture to a boil, then lower the heat, cover, and simmer for 1 hour until the lamb is tender. Stir now and then.
Remove the lid and simmer 10 minutes longer if you want the gravy thicker. Serve over cooked rice and top with chopped cilantro.