Dry roast the whole spices (coriander - mustard seeds) on a hot frying pan for a few minutes.
Let the spices cool off and grind them with a pestle and mortar or in a spice mill.
Heat the canola oil and fry the chopped onion together with the cinnamon stick until the onion is translucent.
Add chopped garlic, ginger and bay leaves and fry them for a few minutes.
Add the ground spices, turmeric, paprika, cayenne pepper, crushed tomatoes, water and salt and bring the sauce to a boil.
Let the sauce simmer for at least 15 minutes.
Add the lemon zest and lemon juice.
Remove the cinnamon stick and the bay leaves.
Blend the sauce with an immersion blender.
Heat the 1 tbsp canola oil in another saucepan and roast the red onion and garlic for a few minutes.
Add the aubergine and mushrooms and cook them for 5 minutes at medium heat while stiring frequently. The liquid from the mushrooms helps preventing the vegetables from sticking to the saucepan - in this way you can use less oil.
(If you prefer your aubergines very soft and mushy try slicing the aubergine lengthwise (1 cm slices) and spray/brush the slices with olive oil and give them a sprinkling of ground black pepper. Then bake the aubergine slices in the oven for 20-30 minute at 360 degree F. When the aubergine slices are cold enough to handle cut them into cubes and add them to the curry).
Add the sauce and let the curry simmer for 10 minutes.
Add the chickpeas and let the curry simmer for 5 more minutes.
Add the spinach and bring the curry back to boiling and simmer for 5 minutes.