Soak dried chickpeas overnight until plumped up. Drain well.
Combine soaked chickpeas and ingredients (A) in a heavy-based saucepot. Cook to a boil, then reduce the heat and simmer for an hour until chickpeas are tender. Drain and keep the cooking liquid for use later.
In the meantime, put tomatoes in a food processor and blend into a puree. Remove and set aside. Process shallots, garlic and ginger into a puree.
Heat oil in a pot, fry sliced onion and ingredients (B) until heated through and fragrant. Add pureed shallot mixture. Fry until aromatic for about 8-10 minutes or until oil rises.
Pour in tomato puree and fry for 2-3 minutes. Stir in cooked chickpeas and pour in cooked chickpea liquid.
Cook until gravy is reduced and chickpeas are soft and tender to the bite. Season to taste.