Clean the liver, remove all the skin and cut roughly into 1.5 cm pieces.
Heat 2 tbsp oil over medium heat.
Fry the onions and cinnamon, until the onions are soft.
Add the potatoes, salt and stir-fry the potatoes for about 2 minutes.
Add some water, cover the pan and simmer until the potatoes are tender.
Heat the remaining oil over medium heat in a heavy bottomed wide pan.(A non-stick or cast iron pan is ideal as the liver needs to be stir fried over high heat.)
Add the garlic and stir-fry for 30 sec.
Add the spice paste, lower the heat and stir fry for about 2 minutes.
Add half of the tomatoes, along with some of the juice, stir and cook for further 2-3 minutes, breaking the tomatoes with the spoon.
When the mixture is fairly dry, add the liver and adjust heat to medium high.
Stir-fry the liver for 3-4 minutes.
Add the remaining tomatoes and the juice, stir-fry for 5-6 minutes.
Cover the pan and simmer for about 8 minutes.
Add the potatoes, green peas, green chillies and the remaining salt and cook for a minute or two.
Adjust heat to medium and cook uncovered for further 5 minutes.
Stir in the garam masala powder and remove from heat.
:- Serve with plain fried rice or chapathis or rotis.